【问题标题】:Update animation speed while the animation running动画运行时更新动画速度
【发布时间】:2015-07-19 20:21:32
【问题描述】:

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

【问题讨论】:

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

标签: javascript jquery html css animation


【解决方案1】:

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

你可以在这里找到一个很好的解释:https://stackoverflow.com/a/14673731/4780390

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 2023-04-10
    • 2011-03-12
    相关资源
    最近更新 更多