Как я могу использовать delay () с show () и hide () в Jquery - PullRequest
66 голосов
/ 22 декабря 2010

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

Ответы [ 4 ]

154 голосов
/ 22 декабря 2010

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

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

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

DEMO

1 голос
/ 03 января 2017

Почему бы вам не попробовать 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);
   });
}
1 голос
/ 22 декабря 2010

от jquery api

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

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

0 голосов
/ 29 марта 2018

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

element.delay(1000).fadeIn(0); // This will work
...