Javascript Jquery$(';#div';).show().delay(5000.hide();不';行不通

Javascript Jquery$(';#div';).show().delay(5000.hide();不';行不通,javascript,jquery,css,Javascript,Jquery,Css,我试图显示一个设置为display:none的div持续5秒,使用 $('#div').show().delay(5000).hide(); 但它不起作用,它只是直接藏起来 你们谁能帮助我 $('#div').show(); setTimeout(function(){$('#div').hide();}, 5000); .delay()仅适用于动画您需要使用.queue(),因为默认情况下,.hide()不排队 $("#div").show().delay(5000).queue(func

我试图显示一个设置为
display:none的div持续5秒,使用

$('#div').show().delay(5000).hide();
但它不起作用,它只是直接藏起来

你们谁能帮助我

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

.delay()仅适用于动画

您需要使用
.queue()
,因为默认情况下,
.hide()
不排队

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

$('#div').show(0).delay(5000).hide(0);
通过将数字传递给
.show()
.hide()
,jQuery将把这些方法放入其内部fx队列(即使数字为零)。由于
.delay()
只在队列中工作,因此您需要一些变通方法


示例:

您的隐藏需要一个持续时间才能正常工作:

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

示例:

+1这很光滑。将其添加到队列中要比我的暴力方法好得多。