setTimeout不能使用jquery

Wri*_*eek 5 javascript jquery settimeout

我有一个jquery扩展函数,它可以很好地工作,但是当我通过setTimout传递它时,它不会等待指定的时间段并立即运行.

jQuery(document).ready(function($) {    
  setTimeout($.mainmenuslider({
    trigger:'close'
  }),6000);  
});
Run Code Online (Sandbox Code Playgroud)

有任何想法吗???

Nic*_*ver 15

您需要传递一个匿名方法来执行您想要的操作,如下所示:

jQuery(function($) {    
    setTimeout(function() {
      $.mainmenuslider({
        trigger:'close'
      });
    }, 6000);    
});
Run Code Online (Sandbox Code Playgroud)

否则,您正在尝试传递函数的结果(使其立即执行,之后不运行).


Poi*_*nty 8

当您尝试设置稍后发生的超时时,您正在调用该函数.代替:

jQuery(function($) {
  setTimeout(function() {
    $.mainmenuslider({trigger:'close'});
  }, 6000);
});
Run Code Online (Sandbox Code Playgroud)