web-dev-qa-db-ja.com

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
14
Matt Elhotiby

JavaScript setTimeout()を使用します。

_setTimeout(function() {
    $("#main_content").load("/pre_config/function.php?type="+type+"piz&count=1", successCallback );
}, 3000);
_

編集:

.delay()を使用するには、遅延コードをアニメーションキューに追加する必要があります。

_$("#main_content")
.delay(3000)
.queue(function( n ) {
    $(this).load("/pre_config/function.php?type="+type+"piz&count=1", successCallback )
           .dequeue();
});
_
21
user113716

JavaScriptはシングルスレッドであるだけでなく、ページレンダリングと同じスレッドを共有することに注意してください。したがって、JavaScriptに組み込みのブロッキング関数はありません。これは、ページUIが応答しなくなるためです。

setTimeout()setInterval() 、またはjQueryの delay() を使用して、代わりにタイマーを使用することを検討する必要があります=。いくつかの例については、 @ patrick's answer を確認してください。

11
Daniel Vassallo