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);