Как я могу использовать delay()
с show()
и hide()
в Jquery?
Ответы:
Передайте продолжительность до show()
и hide()
:
Если указана длительность,
.show()
становится методом анимации.
Например element.delay(1000).show(0)
Самый простой способ - сделать «фальшивое шоу» с помощью jquery.
element.delay(1000).fadeIn(0); // This will work
Почему бы вам не попробовать fadeIn () вместо использования show () с delay (). Я думаю, что то, что вы пытаетесь сделать, можно сделать и с этим. Вот код jQuery для fadeIn и FadeOut (), который также имеет встроенный метод для задержки процесса.
$(document).ready(function(){
$('element').click(function(){
//effects take place in 3000ms
$('element_to_hide').fadeOut(3000);
$('element_to_show').fadeIn(3000);
});
}
из jquery api
Этот .delay()
метод, добавленный в jQuery версии 1.4, позволяет нам отложить выполнение функций, следующих за ним в очереди. Его можно использовать со стандартной очередью эффектов или с настраиваемой очередью. Задерживаются только последующие события в очереди; например, это не приведет к задержке форм без аргументов .show()
или форм, .hide()
которые не используют очередь эффектов.