основная задержка на jQuery .click функция

У меня есть самая основная функция jQuery их всех, но я не мог найти, что путь в документации инициировал содержание этой функции щелчка после того, как говорят 1 500 миллисекунд:

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

P.S. просто замеченный jquery 1.4 функции .delay, хотя, я использую версию 1.3. Я не знаю, вмешалось ли обновление этого в какой-либо другой JavaScript, который я в настоящее время имею.

11
задан Dustin Laine 30 March 2010 в 22:55
поделиться

2 ответа

Вы можете сделать это с помощью обычного javascript, используя setTimeout () .

$('.masonryRecall').click(function(){
        setTimeout("$('#mainContent').masonry()", 1500);
    });
17
ответ дан 3 December 2019 в 02:19
поделиться

Обычно вам следует избегать использования строковых литералов в setTimeout / setInterval. Вместо этого используйте замыкание:

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

, а еще лучше используйте его так (примечание: внешнее замыкание на самом деле не требуется):

(function($){
    var timeout=null;
    $('.masonryRecall').click(function(){
        clearTimeout(timeout);
        timeout=setTimeout(function(){$('#mainContent').masonry();}, 1500);
    });
}(jQuery));
16
ответ дан 3 December 2019 в 02:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: