jQuery睡眠功能?

时间:2010-09-04 18:52:32

标签: javascript jquery sleep

  

可能重复:
  Jquery: how to sleep or delay?

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

2 个答案:

答案 0 :(得分:21)

使用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();
});

答案 1 :(得分:11)

请记住,JavaScript不仅是单线程的,而且它与页面呈现共享相同的线程。因此,JavaScript中没有内置的阻塞函数,因为这会使页面UI无响应。

您应该考虑使用setTimeout()setInterval()或jQuery的delay()来使用计时器。查看@patrick's answer以获取几个示例。