0

我有这个 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);

请问有什么帮助吗?

4

1 回答 1

0

正如adeneo所说 - 使用setInterval你创建自己的动画,所以你不需要animate()里面的jQuery。animate()可能也setInterval用来制作动画。你修改使用left和animate() 尝试同时修改和使用自己的。topsetIntervalnewv()lefttopsetInterval

顺便说一句:在animate()中,您可以使用它step()来修改每一步中的值(没有 own setInterval),但我从未使用过它。

于 2013-07-18T13:02:14.333 回答