Как я могу использовать delay () с show () и hide () в JQuery

Ответы:

166

Передайте продолжительность до show()и hide():

Если указана длительность, .show()становится методом анимации.

Например element.delay(1000).show(0)

ДЕМО

Феликс Клинг
источник
3

Самый простой способ - сделать «фальшивое шоу» с помощью jquery.

element.delay(1000).fadeIn(0); // This will work
Лучано Дамиано
источник
2

Почему бы вам не попробовать 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);
   });
}
abhinav1602
источник
fadeIn и показ чего-то с задержкой - две совершенно разные вещи
lcjury 05
1

из jquery api

Этот .delay()метод, добавленный в jQuery версии 1.4, позволяет нам отложить выполнение функций, следующих за ним в очереди. Его можно использовать со стандартной очередью эффектов или с настраиваемой очередью. Задерживаются только последующие события в очереди; например, это не приведет к задержке форм без аргументов .show()или форм, .hide()которые не используют очередь эффектов.

http://api.jquery.com/delay/

Шакти Сингх
источник