问题演变为
我尝试使用缓动插件aslo
代码在这里:
function ran(min, max)
{
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function moveIt()
{
$(".circle").each(function() {
x = ran(-3, 3);
y = ran(-3, 3);
pos = $(this).position();
nowX = pos.left + x;
nowY = pos.top + y;
$(this).animate({"left": nowX}, {queue:false, duration:400, easing: 'linear'});
$(this).animate({"top": nowY}, {queue:false, duration:400, easing: 'linear'});
});
}
setInterval(moveIt, 400);
答案 0 :(得分:2)
使用以下内容更新了您的功能。
1)将您的2 animate()
次调用合并为1
2)使用setInterval()
自己的animate()
回调替换success
以递归调用。
3)使用setInterval()
方法替换delay()
。
4)尝试通过减少每个循环之间的延迟来“平滑”动画。 (这是你设定的400)