11

私はそれらすべての中で最も基本的なjquery関数を持っていますが、たとえば1500ミリ秒後にこのクリック関数のコンテンツをトリガーする方法をドキュメントで見つけることができませんでした:

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

PSは.delay関数jquery1.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 に答える