11

我有它们中最基本的 jquery 函数,但是我在文档中找不到在说 1500 毫秒后触发这个点击函数内容的方法:

$('.masonryRecall').click(function(){
  $('#mainContent').masonry();
 });

PS 刚刚注意到 .delay 函数 jquery 1.4,虽然,我使用的是 1.3 版。我不知道更新它是否会干扰我目前拥有的任何其他 javascript。

4

2 回答 2

17

您可以使用常规 javascript 来做到这一点setTimeout()

$('.masonryRecall').click(function(){
        setTimeout("$('#mainContent').masonry()", 1500);
    });
于 2010-03-30T22:53:07.467 回答
16

您通常应该远离 setTimeout/setInterval 中的字符串文字。而是使用闭包:

setTimeout(function(){ $('#mainContent').masonry(); }, 1500);`

甚至更好地像这样使用它(注意:外部封闭并不是真正必要的):

(function($){
    var timeout=null;
    $('.masonryRecall').click(function(){
        clearTimeout(timeout);
        timeout=setTimeout(function(){$('#mainContent').masonry();}, 1500);
    });
}(jQuery));
于 2010-03-30T23:52:32.790 回答