【发布时间】:2011-03-26 14:51:54
【问题描述】:
我正在使用.show 在成功提交表单后显示隐藏消息。
如何将消息显示5秒然后隐藏?
【问题讨论】:
标签: jquery hide message show timed
我正在使用.show 在成功提交表单后显示隐藏消息。
如何将消息显示5秒然后隐藏?
【问题讨论】:
标签: jquery hide message show timed
您可以在动画前使用.delay(),如下所示:
$("#myElem").show().delay(5000).fadeOut();
如果不是动画,直接使用setTimeout(),像这样:
$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
您选择第二个是因为.hide() 通常不会出现在没有持续时间的动画 (fx) 队列中,这只是一个即时效果。
或者,另一种选择是自己使用.delay() 和.queue(),如下所示:
$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});
【讨论】:
.delay() 将无法与 .hide() 一起使用,该元素将显示然后立即隐藏。请参阅this jsFiddle 这就是为什么尼克说“如果它不是动画,请直接使用 setTimeout(),如下所示:....”
您可以使用以下效果进行动画处理,您可以根据需要更改值
$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');
【讨论】:
就这么简单:
$("#myElem").show("slow").delay(5000).hide("slow");
【讨论】: