Javascript 在动画运行时更新动画速度
我正在做一个小的赛马动画练习。我想每100毫秒改变一次div的速度,每个div必须有不同的速度。下面的代码没有像我预期的那样工作Javascript 在动画运行时更新动画速度,javascript,jquery,html,css,animation,Javascript,Jquery,Html,Css,Animation,我正在做一个小的赛马动画练习。我想每100毫秒改变一次div的速度,每个div必须有不同的速度。下面的代码没有像我预期的那样工作 var v = setInterval(function() { v = Math.floor(Math.random() * (9000 - 2000 + 1)) + 2000; return v; }, 500) $("#start").click(function () { $("#karauzum"
var v = setInterval(function() {
v = Math.floor(Math.random() * (9000 - 2000 + 1)) + 2000;
return v;
}, 500)
$("#start").click(function () {
$("#karauzum").animate({left: "400px"}, v, function () {
list.push("karauzum");
});
$("#gelibolu").animate({left: "400px"}, v, function() {
list.push("gelibolu");
});
$("#yalnizefe").animate({left: "400px"}, v, function() {
list.push("yalnizefe");
});
$("#ucanoglu").animate({left: "400px"}, v, function() {
list.push("ucanoglu");
});
顺便说一句,整个页面就在这里:jQuery animate函数按值存储速度,而不是按引用存储速度,因此您不能在执行过程中更改它。但是,您可以短暂停止动画并使用新值重新启动它
您可以在这里找到一个很好的解释:从用setInterval调用的函数返回值将不起作用。查找回调函数。