jQuery show for 5 seconds then hide

前端 未结 3 522
孤城傲影
孤城傲影 2020-12-07 07:37

I\'m using .show to display a hidden message after a successful form submit.

How to display the message for 5 seconds then hide?

3条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-07 08:11

    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();
    });
    

提交回复
热议问题