javascript - jQuery:动画同时发生,而不是与 .each() 迭代背靠背

标签 javascript jquery animation methods each

我正在遍历一组“.mini”类对象。对于每个对象,每个对象在移动(调用go函数)之前会等待500毫秒(setTimeout函数)。例如,

function iterate() {
    $(".mini").each(function(index)
    {
        var element = $(this);
        setTimeout(function() {go(element)}, 500);
    });
}

function go(element) {
    element.animate({left: "500px"},200);
}

但是,每个元素的动画都是同时发生的(所有 32 个 .mini 对象同时移动),而不是一个接一个地移动。如何让第一个在开始时间 500 秒后开始移动,第二个在开始时间 1000 秒后开始移动,等等?

最佳答案

您应该将 500 乘以 index + 1,以便第一个发生在 500ms 内,第二个发生在 1000ms

setTimeout(function() {go(element)}, 500 * (index + 1));

现在,您遍历所有这些,并告诉它们中的每一个 从现在起 500 毫秒,执行此操作。因此,500ms 从现在开始,他们每个人都这样做。

关于javascript - jQuery:动画同时发生,而不是与 .each() 迭代背靠背,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50219556/

相关文章:

javascript - 将 validate ="required:true"添加到您的 html 中

javascript - Bootstrap markdown extraButtons 无法与很棒的字体一起使用?

html - 如何循环播放该动画,V2

javascript - Angular.js 路由似乎不起作用

javascript - 如何使用 vue-router 和单文件组件传递 props

javascript - 如何检测当前的iframe url?

iphone - 如何创建自定义 UIViewController 过渡动画?

ios - 选项卡上按钮图像更改的动画(可能是翻转动画)

javascript - SoundCloud Api 重定向混淆和 Audio Api Streams

javascript - 带有自定义复选框的 Jquery.validate()