jquery .click函数的基本延迟

时间:2010-03-30 22:51:35

标签: jquery timedelay

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

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

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

2 个答案:

答案 0 :(得分:17)

您可以使用setTimeout()常规JavaScript进行此操作。

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

答案 1 :(得分:16)

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

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

甚至更好地使用它(注意:外部封闭不是必需的):

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