我正在尝试使用
显示设置为display: none;
5秒的div
$('#div').show().delay(5000).hide();
但它不起作用,它只是直接隐藏()
你们有人可以帮助我吗?
答案 0 :(得分:121)
这样做:
$('#div').show(0).delay(5000).hide(0);
通过将数字传递给.show()
和.hide()
,jQuery会将这些方法带入其内部 fx队列(即使数字为零)。由于.delay()
仅适用于队列,因此您需要一点解决方法。
答案 1 :(得分:8)
您需要使用.queue()
,因为.hide()
默认情况下不会排队。
$("#div").show().delay(5000).queue(function (next) {
$(this).hide();
next();
});
答案 2 :(得分:3)
您需要在隐藏中使用一段时间才能正常工作:
$('#div').show('slow').delay(5000).hide('slow');
答案 3 :(得分:2)
$('#div').show();
setTimeout(function(){$('#div').hide();}, 5000);
.delay()仅适用于动画