JQuery показать в течение 5 секунд, затем скрыть

Я использую .show для отображения скрытого сообщения после успешной отправки формы.

Как отобразить сообщение в течение 5 секунд, затем скрыть?

Ответ 1

Вы можете использовать .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();
});

Ответ 2

Вы можете использовать эффект ниже для анимации, вы можете изменить значения в соответствии с вашими требованиями.

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