我有这个jsfiddle:http://jsfiddle.net/2mRMr/3/
此代码无效:
setInterval(function () {
box.animate({
left: function (i, v) { return newv(v, 37, 39); },
top: function (i, v) { return newv(v, 38, 40); }
});
}, 20);
虽然这样做:
setInterval(function () {
box.css({
left: function (i, v) { return newv(v, 37, 39); },
top: function (i, v) { return newv(v, 38, 40); }
});
}, 20);
有什么帮助吗?
答案 0 :(得分:0)
正如adeneo所说 - 使用setInterval
创建自己的动画,因此你不需要jQuery animate()
。 animate()
也可能使用setInterval
来制作动画。您可以使用left
和top
修改setInterval
和newv()
,并使用animate()尝试使用自己的left
修改top
和setInterval
同时。
btw:在animate()中,您可以使用step()
修改每一步的值(没有自己的setInterval
),但我从未使用过它。