jQuery显示5秒然后隐藏

jos*_*oma 140 jquery message timed show hide

.show在成功提交表单后,我正在使用显示隐藏的消息.

如何显示消息5秒然后隐藏?

Nic*_*ver 335

您可以.delay()在动画之前使用,如下所示:

$("#myElem").show().delay(5000).fadeOut();
Run Code Online (Sandbox Code Playgroud)

如果它不是动画,请setTimeout()直接使用,如下所示:

$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
Run Code Online (Sandbox Code Playgroud)

你做第二个因为.hide()通常不会在fx没有持续时间的animation()队列上,它只是一个即时效果.

或者,另一个选择是使用.delay().queue()你自己,像这样:

$("#myElem").show().delay(5000).queue(function(n) {
  $(this).hide(); n();
});
Run Code Online (Sandbox Code Playgroud)

  • @wilsjd不,你不能,`.delay()`不能用`.hide()`元素将被显示然后立即隐藏.看[this jsFiddle](http://jsfiddle.net/DelightedDoD/vbfue61f/1/)这就是Nick说"如果它不是动画,直接使用setTimeout(),就像这样:......" (2认同)

Rah*_*hul 17

您可以使用以下效果进行动画处理,您可以根据自己的要求更改值

$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow'); 
Run Code Online (Sandbox Code Playgroud)


Ant*_*Ooi 7

就像这样简单:

$("#myElem").show("slow").delay(5000).hide("slow");
Run Code Online (Sandbox Code Playgroud)