Ответы:
Вы можете использовать .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();
});
.delay()будет работать с .hide()элементом, который будет показан, а затем сразу же скрыт. Посмотрите это jsFiddle. Вот почему Ник заявил: «Если это не анимация, используйте setTimeout () напрямую, например так: ....»
Вы можете использовать эффект ниже для анимации, вы можете изменить значения в соответствии с вашими требованиями
$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');
Так же просто, как это:
$("#myElem").show("slow").delay(5000).hide("slow");