【发布时间】:2013-09-19 20:38:08
【问题描述】:
我花了一天的大部分时间来跟踪我在使用 jQuery 动画时遇到的问题。将 jQuery.animate() 应用于锚元素或锚元素内的子元素似乎存在问题,至少在移动动画方面是这样。我将问题归结为一个相当简单的示例来说明问题:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>
var foo = {};
function TestMove(newx, newy) {
this.newx = newx;
this.newy = newy;
}
TestMove.prototype = {
movex:function () {
$("#newsec").animate({left: this.newx + "px"});
},
movey:function () {
$("#newsec").animate({top: this.newy + "px"});
}
}
function bar() {
foo[1].movex();
foo[1].movey();
}
function init() {
foo[1] = new TestMove(200,200);
}
</script>
</head>
<body onload="init()">
<a href="" style="position: relative;">
<div style="position: relative; height: 50px; width: 50px; background-color: red;" id="newsec" onclick="bar()"></div>
</a>
</body>
</html>
无论我是将 id 属性和 onclick 事件处理程序调用放在 标记还是其中的 有人知道为什么会这样吗? 这个问题几乎没有实际意义,因为我可以轻松地在工作页面中使用 中,动画都不起作用。另一方面,如果我完全删除 元素标记,则动画在 元素上按预期工作。
标签: javascript jquery css html