在执行下一行代码之前,JQuery会等待几秒钟

时间:2012-02-16 16:27:28

标签: javascript jquery

我需要一个简单的方法,或者在执行下一行代码之前暂停几秒钟。

所以我有:

$('.myClass').show();

//WAIT FOR 5 SECONDS HERE

$('.myClass').hide();

4 个答案:

答案 0 :(得分:11)

setTimeout

$('.myClass').show();
window.setTimeout(function (){$('.myClass').hide(); }, 5000);

$('。myClass')。show()。delay(5000).hide();

  

仅延迟队列中的后续事件;例如,这将   不延迟.show()或.hide()的无参数形式   使用效果队列。

docs

为了使用delay,您必须使用持续时间,因此它将使用队列:

$('.myClass').show().delay(5000).hide(0); 

JSFiddle DEMO

谢谢@am不是我!(再次......)

答案 1 :(得分:4)

这应该有效:

$('.myClass').show();
window.setTimeout(  
    function() {  
         $('.myClass').hide();//happens 5 secs later
    },  
    5000
);

请参阅MDN上的window.setTimeout

答案 2 :(得分:2)

您可以将hide括在setTimeout()的调用中。

$('.myClass').show();
setTimeout(function() {$('.myClass').hide()}, 5000);

答案 3 :(得分:1)

$('.myClass').show();

window.setTimeout(function () {
   $('.myClass').hide();
}, 5000);