функция wait() или sleep() в jquery?



Я хочу добавить класс, подождите 2 секунды и добавьте еще один класс.



.addClass("load").wait(2sec).addClass("done");


есть ли способ?

581   6  

6 ответов:

setTimeout будет выполнять некоторый код после задержки в некоторый период времени (измеряется в миллисекундах). Однако важное замечание: из-за природы javascript остальная часть кода продолжает работать после установки таймера:

$('#someid').addClass("load");

setTimeout(function(){
  $('#someid').addClass("done");
}, 2000);

// Any code here will execute immediately after the 'load' class is added to the element.

что бы .delay().

http://api.jquery.com/delay/

Если вы делаете вещи AJAX tho, вы действительно не должны просто автоматически писать "готово", вы должны действительно ждать ответа и посмотреть, действительно ли это сделано.

понимаю, что это старый вопрос, но я написал плагин для решения этой проблемы, что кто-то может найти полезным.

https://github.com/madbook/jquery.wait

позволяет сделать это:

$('#myElement').addClass('load').wait(2000).addClass('done');

delay () не будет выполнять эту работу. Проблема с delay () является частью системы анимации, и применяется только к очередям анимации.

Что делать, если вы хотите подождать, прежде чем выполнять что-то за пределами анимации??

используйте этот:

window.setTimeout(function(){
                 // do whatever you want to do     
                  }, 600);

что происходит?: В этом случае он ожидает 600 миллисекунд перед выполнением кода, указанного в фигурных скобках.

Это очень помогло мне, как только я понял это и надеюсь, что это поможет вам как хорошо!

есть функция, но она дополнительная: http://docs.jquery.com/Cookbook/wait

этот маленький фрагмент позволяет ждать:

$.fn.wait = function(time, type) {
    time = time || 1000;
    type = type || "fx";
    return this.queue(type, function() {
        var self = this;
        setTimeout(function() {
            $(self).dequeue();
        }, time);
    });
};

используя функцию setTimeout, например посетите здесь, например

Comments

    Ничего не найдено.