在延时上触发 jQuery 函数

Posted

技术标签:

【中文标题】在延时上触发 jQuery 函数【英文标题】:Triggering jQuery function on timedelay 【发布时间】:2016-07-01 17:08:12 【问题描述】:

所以我有一两个函数要在我的页面加载 10 秒后运行。这是现在的代码:

            jQuery(document).ready(function() 
            jQuery(".expand-cnt-link").click(function() 
                jQuery(this).toggleClass("ecf_closed").parent(".exp-col-content-holder").find(".hidden-content").first().stop().slideToggle("slow").css("display","inline-block");
                return false;
            ); 
            jQuery(".expand-cnt-link").toggleClass("ecf_closed").parent(".exp-col-content-holder").find(".hidden-content").css("display","none");

具体来说,我正在寻找当前由点击元素“.expand-cnt-link”触发的代码,而不是由页面加载 10 秒触发。

我已经查看了这篇文章:JQuery wait x seconds after document ready

这似乎表明正确的代码是:

            jQuery(document).ready(function() 
            setTimeout(function() 
                jQuery(this).toggleClass("ecf_closed").parent(".exp-col-content-holder").find(".hidden-content").first().stop().slideToggle("slow").css("display","inline-block");
                return false;
            , 2000);   
            jQuery(".expand-cnt-link").toggleClass("ecf_closed").parent(".exp-col-content-holder").find(".hidden-content").css("display","none");

然而这并没有给我带来好运...有什么建议吗?

【问题讨论】:

【参考方案1】:

使用上面代码块中的代码,然后在页面加载 10 秒后调用该点击函数,如下所示:

setTimeout(function()  jQuery(".expand-cnt-link").click() , 10000);

【讨论】:

以上是关于在延时上触发 jQuery 函数的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Event.stopImmediatePropagation() 函数详解

js延时函数setTimeout

音频事件不会在播放事件上触发 jQuery

JQuery getJson 成功函数在按钮单击时触发

函数反抖 debounce

jQuery的Deferred对象