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().Если вы делаете вещи 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