jquery $('#div')。show()。delay(5000).hide(); 不起作用

我试图显示一个div设置为display: none; 持续5秒钟

 $('#div').show().delay(5000).hide(); 

但它不工作,它只是直接隐藏()

你们能帮助我吗?

像这样做:

 $('#div').show(0).delay(5000).hide(0); 

通过将数字传递给.show().show() ,jQuery将把这些方法放入其内部fx队列 (即使数字为零)。 由于.delay()只能在一个队列中工作,所以你需要一点小小的解决方法。

例如: http : //jsfiddle.net/zceKN/

您需要使用.queue()因为.queue()默认没有排队。

 $("#div").show().delay(5000).queue(function (next) { $(this).hide(); next(); }); 

你需要持续一段时间才能工作:

 $('#div').show('slow').delay(5000).hide('slow'); 

例如: http : //jsfiddle.net/Paulpro/GLTaB/

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

.delay()仅适用于animation