Ответы:
Это скроет div через 1 секунду (1000 миллисекунд).
setTimeout(function() {
$('#mydiv').fadeOut('fast');
}, 1000); // <-- time in milliseconds
#mydiv{
width: 100px;
height: 100px;
background: #000;
color: #fff;
text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mydiv">myDiv</div>
Если вы просто хотите спрятаться без выцветания, используйте hide()
.
.delay()
более "родная" и элегантная для jQuery
.
.fadeOut('fast')
на, .hide()
чтобы мгновенно скрыть div.
Вы можете попробовать .delay()
$(".formSentMsg").delay(3200).fadeOut(300);
вызовите div, установите время задержки в миллисекундах и установите свойство, которое вы хотите изменить, в этом случае я использовал .fadeOut (), чтобы его можно было анимировать, но вы также можете использовать .hide ().
jquery предлагает множество методов для скрытия div по времени, которые не требуют настройки и последующей очистки или сброса интервальных таймеров или других обработчиков событий. Вот несколько примеров.
Чистая шкура, задержка в одну секунду
// hide in one second
$('#mydiv').delay(1000).hide(0);
Чистая шкура, без задержек
// hide immediately
$('#mydiv').delay(0).hide(0);
Анимированная шкура
// start hide in one second, take 1/2 second for animated hide effect
$('#mydiv').delay(1000).hide(500);
исчезать
// start fade out in one second, take 300ms to fade
$('#mydiv').delay(1000).fadeOut(300);
Кроме того, методы могут принимать имя очереди или функцию в качестве второго параметра (в зависимости от метода). Документацию для всех вышеуказанных вызовов и других связанных вызовов можно найти здесь: https://api.jquery.com/category/effects/
Есть действительно простой способ сделать это.
Проблема в том, что .delay влияет только на анимацию, поэтому вам нужно заставить .hide () действовать как анимацию, задав ей продолжительность.
$("#whatever").delay().hide(1);
Если дать ему небольшую продолжительность, он будет мгновенным, как и обычная функция .hide.
$.fn.delay = function(time, callback){
// Empty function:
jQuery.fx.step.delay = function(){};
// Return meaningless animation, (will be added to queue)
return this.animate({delay:1}, time, callback);
}
С http://james.padolsey.com/javascript/jquery-delay-plugin/
(Позволяет связывать методы)
Использование таймера jQuery также позволит вам иметь имя, связанное с таймерами, прикрепленными к объекту. Таким образом, вы можете прикрепить к объекту несколько таймеров и остановить любой из них.
$("#myid").oneTime(1000, "mytimer1" function() {
$("#something").hide();
}).oneTime(2000, "mytimer2" function() {
$("#somethingelse").show();
});
$("#myid").stopTime("mytimer2");
Функция eval (и ее родственники, Function, setTimeout и setInterval) предоставляют доступ к компилятору JavaScript. Иногда это необходимо, но в большинстве случаев это указывает на наличие крайне плохого кода. Функция eval - наиболее часто используемая функция JavaScript.
Наверное, самый простой способ - использовать плагин таймеров. http://plugins.jquery.com/project/timers, а затем вызовите что-то вроде
$(this).oneTime(1000, function() {
$("#something").hide();
});
мы можем напрямую использовать
$('#selector').delay(5000).fadeOut('slow');
<script>
$(function() {
$(".hide-it").hide(7000);
});
</script>
<div id="hide-it">myDiv</div>