我正在练习一些小型赛马动画。我想每100毫秒更改一次div的速度,每个div必须有不同的速度。以下代码无法正常工作。
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");
});
顺便说一句整页就在这里:http://kilavuzbaykus.com/atyarisi.html
答案 0 :(得分:1)
jQuery animate-Function按值存储速度,而不是按引用存储速度,因此您无法在执行期间更改它。但是,您可以暂时停止动画并使用新值重新启动它。
你可以在这里找到一个很好的解释:https://stackoverflow.com/a/14673731/4780390