Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery在执行下一行代码之前等待几秒钟_Javascript_Jquery - Fatal编程技术网

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

Javascript JQuery在执行下一行代码之前等待几秒钟,javascript,jquery,Javascript,Jquery,我需要一个简单的方法,或者在执行下一行代码之前暂停几秒钟 因此,我: $('.myClass').show(); //WAIT FOR 5 SECONDS HERE $('.myClass').hide(); setTimeout: $('.myClass').show(); window.setTimeout(function (){$('.myClass').hide(); }, 5000); $('.myClass').show().delay(5000.hide(); 只有队列中

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

因此,我:

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

//WAIT FOR 5 SECONDS HERE

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

setTimeout

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

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

为了使用
延迟
您必须使用持续时间,以便它将使用队列:

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

谢谢@am不是我(再次…

这应该可以:

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

请参见MDN上的

您可以在调用
setTimeout()
中包含
隐藏


确切地说,要复制/粘贴JQuery函数info,.delay()方法最适合在排队的JQuery效果之间进行延迟。例如,由于它的局限性,它没有提供一种取消延迟的方法。delay()不是JavaScript本机setTimeout函数的替代品,后者可能更适合某些用例。您的第一个代码示例不正确。
.hide()
方法不是排队效果,因此
.delay()
不会对其产生影响。我想早些时候发表评论,但我很想知道一个错误的答案会得到多少赞成票。很抱歉把你的答案作为我实验的一部分。。。支持我的要求。请注意,如果您给in一个持续时间,它可以排队。您的第一个代码不起作用。我们不能在show方法中使用回调函数,并在其中写入延迟代码吗。它是这样工作的,但可能不是最好的方式。$('.myClass').show(500,function(){$(this)…delay(5000.hide()})@阿姆诺蒂安。已从1更改为0。所以Chuck norris不会注意到延迟…=)<代码>设置超时($('myClass').hide,5000)未按预期工作。您应该使用
setTimeout(function(){$('myClass').hide()},5000)instead@Rocket. 他的代码可以工作<代码>设置超时(“$('myClass').hide()”,5000)@Rocket和gdoron。好电话,谢谢。我更喜欢传递函数对象而不是字符串。一直以来都是很好的注释。@gdoron:永远不要将字符串传递给它使用的
setTimeout
eval
,这是
邪恶的
,也是
窗口。setTimeout
setTimeout
应该没关系。@gdoron只要你不重写setTimeout函数(没有人应该这么做),我宁愿忘记额外的
窗口。
。但是,如果使用外部库,则效果会更糟。+1。你是对的。再次阅读我的答案+评论。你会学到一些新东西…=):)是的,昨天我做得很快,很有趣!
$('.myClass').show();
setTimeout(function() {$('.myClass').hide()}, 5000);
$('.myClass').show();

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