JQuery показать в течение 5 секунд, а затем скрыть - PullRequest
135 голосов
/ 07 августа 2010

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

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

Ответы [ 2 ]

324 голосов
/ 07 августа 2010

Вы можете использовать .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();
});
16 голосов
/ 09 января 2012

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

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