问题
I'm using .show
to display a hidden message after a successful form submit.
How to display the message for 5 seconds then hide?
回答1:
You can use .delay() before an animation, like this:
$("#myElem").show().delay(5000).fadeOut();
If it's not an animation, use setTimeout() directly, like this:
$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
You do the second because .hide()
wouldn't normally be on the animation (fx
) queue without a duration, it's just an instant effect.
Or, another option is to use .delay() and .queue() yourself, like this:
$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});
回答2:
You can use the below effect to animate, you can change the values as per your requirements
$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');
来源:https://stackoverflow.com/questions/3428766/jquery-show-for-5-seconds-then-hide