Функция спящего режима 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 для нескольких примеров.