Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在动画运行时更新动画速度_Javascript_Jquery_Html_Css_Animation - Fatal编程技术网

Javascript 在动画运行时更新动画速度

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"

我正在做一个小的赛马动画练习。我想每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");

    });

顺便说一句,整个页面就在这里:

jQuery animate函数按值存储速度,而不是按引用存储速度,因此您不能在执行过程中更改它。但是,您可以短暂停止动画并使用新值重新启动它


您可以在这里找到一个很好的解释:

从用setInterval调用的函数返回值将不起作用。查找回调函数。