我有一个完美的jquery扩展函数但是当我通过setTimout传递它时,它不会等到指定的时间段并立即运行。
jQuery(document).ready(function($) {
setTimeout($.mainmenuslider({
trigger:'close'
}),6000);
});
任何想法???
答案 0 :(得分:15)
您需要传递匿名方法来执行您想要的操作,例如:
jQuery(function($) {
setTimeout(function() {
$.mainmenuslider({
trigger:'close'
});
}, 6000);
});
否则你试图传递函数的结果(使其立即执行,之后不运行)。
答案 1 :(得分:8)
当您尝试设置以后发生的超时时,您正在调用该功能。代替:
jQuery(function($) {
setTimeout(function() {
$.mainmenuslider({trigger:'close'});
}, 6000);
});
答案 2 :(得分:2)
试试这个!!
jQuery(document).ready(function($) {
setTimeout("$.mainmenuslider({
trigger:'close'
})",6000);
});
在使用setTimeout()时,总是尝试指定需要在引号中调用的操作。
例如:
setTimeout("call_this_function()", 4000);