Ich möchte ein Element und alle untergeordneten Elemente nach einer Verzögerung von ein paar Sekunden ausblenden. Ich habe jedoch keine Möglichkeit gefunden, anzugeben, dass ein Effekt nach einer bestimmten Zeitverzögerung gestartet werden soll.Verzögerung JQuery-Effekte
Antwort
setTimeout(function() { $('#foo').fadeOut(); }, 5000);
Der 5000 ist fünf Sekunden in Millisekunden.
Beachten Sie, dass dies Javascript verwendet eingebaute setTimeout-Funktion, nichts jQuery spezifisch. –
Dies beantwortet nur teilweise seine Frage, denke ich. –
Wenn die Kinder innerhalb des #foo Elements sind, sollten sie auch verblasst sein ... – swilliams
Sie können die Verwendung von setTimeout vermeiden, indem Sie die Methode fadeTo() verwenden und eine Verzögerung von 5 Sekunden einstellen.
$("#hideAfterFiveSeconds").click(function(){
$(this).fadeTo(5000,1,function(){
$(this).fadeOut("slow");
});
});
macht diese Art von Block sehr CPU-intensiv im Vergleich zu setTimeout. Ich sehe den Vorteil nicht. - Warum ist der native Timer zu vermeiden? – redsquare
ich benutze diese Pause Plugin Ich schrieb
$.fn.pause = function(duration) {
$(this).animate({ dummy: 1 }, duration);
return this;
};
Nennen Sie es wie folgt aus:
$("#mainImage").pause(5000).fadeOut();
Hinweis: Sie keinen Rückruf benötigen.
Edit: Sie sollten nun die jQuery 1.4. built in delay() Methode verwenden. Ich habe nicht überprüft, aber ich nehme an, es ist "klüger" als mein Plugin.
Das hilft mir so sehr!Danke :-) – Jesse
pass einfach auf, wenn jQuery jemals eine pause() -Funktion hinzufügt, denn es wird wahrscheinlich besser als meins sein! aber es ist gut, weg zu abstrahieren, was du so machst –
kann jemand erklären, warum ich einen Rückruf nicht brauche? Ich bin mir nicht ganz sicher, warum das nicht sofort zurück –
Ich habe ein Plugin geschrieben, mit dem Sie eine Verzögerung in die Kette einfügen können.
zum Beispiel $ ('# div'). FadeOut(). Delay (5000) .fadeIn(); // Element ausblenden, 5 Sekunden warten, Element wieder einblenden.
Es werden keine Animations-Hacks oder übermäßige Callback-Verkettung verwendet, nur ein einfacher sauberer Kurzcode.
Zuvor würden Sie so etwas wie diese
$('#foo').animate({opacity: 1},1000).fadeOut('slow');
tun Die erste belebt nichts zu tun, da Sie bereits Opazität 1 auf dem Elemente, aber es würde für die Zeit anhalten .
In jQuery 1.4 haben sie dies in das Framework integriert, so dass Sie den Hack nicht wie oben verwenden müssen.
$('#foo').delay(1000).fadeOut('slow');
Die Funktionalität ist das gleiche wie das Original jQuery.delay()
Plugin http://www.evanbot.com/article/jquery-delay-plugin/4
Der beste Weg, mit Hilfe der jQuery Verzögerung Methode ist:.
$ ('# my_id') Verzögerung (2000). fadeOut (2000);
jQuery 1.4 und höher –
- 1. Headerort Verzögerung
- 2. Delegate.BeginInvoke Verzögerung
- 3. AudioQueueDispose Verzögerung
- 4. viewDidAppear Verzögerung
- 5. SpringAMQP-Verzögerung
- 6. XL2TP Hallo Verzögerung Wert
- 7. Verzögerung angulare App-Initialisierung
- 8. C++ Boost-Thread-Verzögerung
- 9. Cocos2d - animationwithframes: Verzögerung: veraltet
- 10. Verzögerung Benachrichtigungsproblem in ssrs
- 11. Einheit Respawn nach Verzögerung
- 12. Verzögerung innerhalb für Schleife
- 13. iOS tcp Client Verzögerung
- 14. Verzögerung Konstruktor Aufruf
- 15. arduino Servo und Verzögerung
- 16. Entfernen Verzögerung auf hide
- 17. Änderung Verzögerung in CCAnimation
- 18. jQuery Verzögerung zwischen Animationen
- 19. SKStoreProductViewController erscheint mit Verzögerung
- 20. Wie upgrade setInterval Verzögerung?
- 21. SVG Titel Verzögerung
- 22. Verzögerung verkettet Versprechen
- 23. Scrapy Verzögerung Anfrage
- 24. Verzögerung dann ausführen Aufgabe
- 25. Excel VBA Formular Verzögerung
- 26. Verzögerung Recyclerview in Fragment
- 27. Verzögerung nach didSelectRowAtIndexPath
- 28. Verzögerung in Java machen
- 29. touchesBegan mit Verzögerung
- 30. Css Animation zufällige Verzögerung
Können Sie ein Beispiel geben, wenn die Kinder eines Elements nicht mit dem Element verblasst sind? – tvanfosson
Sorry, mein Fehler, ich werde den Beitrag aktualisieren –