javascript - 在使用 `each()` 迭代时调用delay() ?

标签 javascript jquery

我试图错开一些物体淡出视野的速度。我不确定我做错了什么。

从文档来看,我只是像其他方法一样调用它。

$( "#foo" ).slideUp( 300 ).delay( 800 ).fadeIn( 400 );

所以,我在代码中尝试了:

        $.each($children, function(key, value) {
            $(value).fadeIn("slow").delay(1000);
        });

但是,由于某种原因这不起作用。无论输入的时间如何,所有内容都会同时淡入。

最佳答案

循环会同时运行,因此请指定不同的延迟,例如 1000、2000、3000 等。

其逻辑是 ( 1000 * ( index + 1 ) ),因此对于第 0 个,您将得到 ( 0 + 1 ) * 1000 === 1000,对于首先你得到 ( 1 + 1 ) * 1000 === 2000 等等

$.each($children, function(index, value) {
    $(value).delay(1000 * (index + 1)).fadeIn("slow");
});

哦,还有...您必须在淡入淡出之前先延迟,因为您预计延迟会在淡入淡出之前出现

关于javascript - 在使用 `each()` 迭代时调用delay() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18048849/

相关文章:

php - 如何根据复选框更新数据库值? jquery/php/ajax

php - JQuery 获取动态创建的选择值

javascript - 此代码不会在 jquery-3.1.0.js 上运行

javascript - 是否可以从 three.js 中的字节数组加载图像和模型?

javascript - invisible recaptcha v2 不检查必填字段

javascript - 如何根据TD内容将CSS应用于TR的 child ?

javascript - 如何开始和结束日期和时间范围选择器?

javascript - Asp.Net MVC 在响应期间合并和删除内联脚本

javascript - 将 svg 与 html 页面中的 div 合并

javascript - 安装后弹出窗口的 Google Chrome 主题