jquery - 附加一个带有延迟的点击功能

标签 jquery

我在将点击功能附加到一个非常简单的 jquery 上时遇到了麻烦,基本上我所做的就是隐藏一堆 li,然后将它们淡入其中,当页面加载时,我可以让它在 documentready 上工作,但当它附加到点击时,我无法获得增加淡入的功能。

$(document).ready(function () {
    $(".extra-holder ul li").hide().each(function (i) {
        var delayInterval = 1000; // milliseconds
        $(this).delay(i * delayInterval).fadeIn();
    });
});

效果非常好,以 1 秒的增量淡出它们。

我想做的是将它绑定(bind)到一个点击事件,这“有效”,但它不会增加淡入,它们只是同时弹出。

$(document).ready(function () {
    $(".extra-holder ul li").hide().each(function (i) {
        var delayInterval = 1000; // milliseconds
        $('.extra-related').click(function () { 
            $(".extra-holder ul li").delay(i * delayInterval).fadeIn();
        }); 
    });
});

正确答案(删除点击隐藏):-

$(document).ready(function () {
    $(".extra-holder ul li").hide();
    var delayInterval = 300;

    $('.extra-related').click(function () {
        $(".extra-holder ul li").each(function (i) {
            $(this).delay(i * delayInterval).fadeIn();
        });
    }); 
});

最佳答案

您需要更改循环,将“ul li”移动到点击事件内的每个循环。

代码如下:

$(document).ready(function () {
  $('.extra-related').click(function () { 
      $(".extra-holder ul li").hide().each(function (i) {
       var delayInterval = 1000; // milliseconds
        $(this).delay(i * delayInterval).fadeIn();
      }); 
   });
});

关于jquery - 附加一个带有延迟的点击功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17035561/

相关文章:

jQuery 悬停在 IE10 中不起作用,但在较低的 IE 版本中起作用

jquery - 未捕获的类型错误 : Property 'submit' of object #<HTMLFormElement> is not a function

javascript - 如何在 PostBack 上保留选定的选项卡或以编程方式调用 beforeActivate 方法

javascript - React.js 应用程序流程错误

javascript - 使用 onblur 来相乘 <g :field> grails

javascript - 按另一个(不相关的)数组对数组进行排序

javascript - jQuery 通过单击链接更改 .CSS

javascript - SlideToggle 仅单击的元素

javascript - 使用 &lt;title&gt; 中的字符串更改 div 中的字符串

javascript - 使 div 内的文本像 affix 一样保持在顶部