2010-03-30 93 views
11

我有他們所有的最基本的jQuery的功能,但我無法找到文件的方式來觸發此點擊功能的內容說,1500毫秒後:基本延遲

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

PS剛剛注意到了.delay函數jquery 1.4,儘管我使用的是1.3版本。我不知道更新是否會干擾我目前擁有的任何其他JavaScript。

回答

17

您可以使用常規javascript使用setTimeout()來完成此操作。

$('.masonryRecall').click(function(){ 
     setTimeout("$('#mainContent').masonry()", 1500); 
    }); 
+0

@Bryon惠特洛克感謝您的。只需添加其.masonry()。但是,暫停似乎沒有工作。它仍然立即啓動? – kalpaitch 2010-03-30 23:06:11

+0

再次感謝您的指導。 setTimeout(「$('#mainContent')。masonry()」,1500); – kalpaitch 2010-03-30 23:12:35

+0

好的。我更新了答案。 – 2010-03-30 23:14:25

16

您通常應該遠離setTimeout/setInterval中的字符串文字。相反,使用閉包:

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

,更是這樣使用它(注:外部封閉是不是真的有必要):

(function($){ 
    var timeout=null; 
    $('.masonryRecall').click(function(){ 
     clearTimeout(timeout); 
     timeout=setTimeout(function(){$('#mainContent').masonry();}, 1500); 
    }); 
}(jQuery));