Я хочу добавить класс, подождать 2 секунды и добавить еще один класс.
.addClass("load").wait(2sec).addClass("done");
Там в любом случае?
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, вам действительно не следует просто автоматически писать «готово», вам действительно нужно дождаться ответа и посмотреть, действительно ли это сделано.
источник
.removeClass('load')
противном случае вы добавили оба класса load и done, что, вероятно, нежелательно. Если вы действительно ждете завершения асинхронного действия, лучше всего сделать .addClass, КОГДА оно завершится и будет успешным, если нет .addClass ('error'), возможно, идеяdelay () не справится с этой задачей. Проблема с delay () - это часть системы анимации и применяется только к очередям анимации.
Что делать, если вы хотите подождать, прежде чем выполнять что-то вне анимации ??
Использовать это:
Что происходит ?: В этом сценарии он ждет 600 миллисекунд, прежде чем выполнить код, указанный в фигурных скобках.
Это очень помогло мне, когда я понял это и надеюсь, что это поможет и вам!
ВАЖНОЕ ЗАМЕЧАНИЕ: 'window.setTimeout' происходит асинхронно. Имейте это в виду при написании кода!
источник
Поймите, что это старый вопрос, но я написал плагин для решения этой проблемы, который кому-то может пригодиться.
https://github.com/madbook/jquery.wait
позволяет сделать это:
источник
Есть функция, но она дополнительная: http://docs.jquery.com/Cookbook/wait
Этот небольшой фрагмент позволяет подождать:
источник
Вы можете использовать
.delay()
функцию.Вот что вам нужно:
источник
Плагин xml4jQuery предоставляет метод сна (ms, callback). Оставшаяся цепочка будет выполнена после периода сна.
источник
Используя функцию setTimeout, например, посетите здесь, например
источник