Функция спящего режима jQuery?
Возможный дубликат:
JQuery: как спать или задерживаться?
var main = $('#main_content');
main.append("<img id=\"throbber\" src='/pre_config/css/images/throbber.gif' alt='Loading. Please wait.' />");
sleep(3000);
$("#main_content").load("/pre_config/function.php?type="+type+"piz&count=1", successCallback );
Я хочу спать в течение 3 секунд здесь
sleep is not defined
[Break on this error] sleep(3000);
func2
Ответы
Ответ 1
Используйте javascript setTimeout()
.
setTimeout(function() {
$("#main_content").load("/pre_config/function.php?type="+type+"piz&count=1", successCallback );
}, 3000);
EDIT:
Чтобы использовать .delay()
, вам нужно добавить задержанный код в очередь анимации.
$("#main_content")
.delay(3000)
.queue(function( n ) {
$(this).load("/pre_config/function.php?type="+type+"piz&count=1", successCallback )
.dequeue();
});
Ответ 2
Имейте в виду, что JavaScript не только однопоточный, но и тот же поток с отображением страницы. Поэтому в JavaScript нет встроенных функций блокировки, поскольку это сделает пользовательский интерфейс страницы невосприимчивым.
Вместо этого вы должны использовать таймеры, используя setTimeout()
, setInterval()
, или jQuery delay()
. Зайдите в @patrick answer для нескольких примеров.