Wie kann ich delay () mit show () und hide () in Jquery verwenden?

Antworten:

166

Übergeben Sie eine Dauer an show()und hide():

Wenn eine Dauer angegeben wird, .show()wird dies zu einer Animationsmethode.

Z.B element.delay(1000).show(0)

DEMO

Felix Kling
quelle
3

Der einfachste Weg ist, eine "gefälschte Show" mit jquery zu machen.

element.delay(1000).fadeIn(0); // This will work
Luciano Damiano
quelle
2

Warum versuchen Sie es nicht mit fadeIn (), anstatt show () mit delay () zu verwenden ? Ich denke, was Sie versuchen zu tun, kann damit getan werden. Hier ist der jQuery-Code für fadeIn und FadeOut (), der auch eine eingebaute Methode zum Verzögern des Prozesses enthält.

$(document).ready(function(){
   $('element').click(function(){
      //effects take place in 3000ms
      $('element_to_hide').fadeOut(3000);
      $('element_to_show').fadeIn(3000);
   });
}
abhinav1602
quelle
Einblenden und etwas mit Verzögerung zeigen sind zwei völlig verschiedene Dinge
lcjury
1

von jquery api

Mit der in Version 1.4 zu jQuery hinzugefügten .delay()Methode können wir die Ausführung von Funktionen verzögern, die in der Warteschlange folgen. Es kann mit der Standardeffektwarteschlange oder mit einer benutzerdefinierten Warteschlange verwendet werden. Nur nachfolgende Ereignisse in einer Warteschlange werden verzögert. Dies verzögert beispielsweise nicht die Formen ohne Argumente von .show()oder .hide()die die Effektwarteschlange nicht verwenden.

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

Shakti Singh
quelle