Wie kann ich ein div mit jQuery ausblenden?

Lesezeit: 3 Minuten

Benutzer-Avatar
Shiva Srikanth Thummidi

Gibt es eine Möglichkeit, ein Div nach 5 Sekunden auszublenden, ohne eine setTimeOut-Funktion zu verwenden?

  • Soll die Animation 5 Sekunden dauern oder 5 Sekunden warten, bevor die Animation beginnt?

    – Adam Bellaire

    11. Februar 2009 um 12:14 Uhr

  • Ja, ich möchte 5 Sekunden warten, bevor die Animation beginnt. Es ist gelöst, ich habe eine Funktion geschrieben $(“div”).fadeOut(10000); dann funktioniert es so, wie ich es genau machen möchte!

    – Shiva Srikanth Thummidi

    13. Februar 2009 um 12:06 Uhr

Jeder weiß, dass es in jquery 1.4 jetzt eine Verzögerungsfunktion gibt, oder?

$('#div').delay(5000).fadeOut(400)

So machen Sie es, ohne benutzerdefinierte Funktionen oder Plug-Ins hinzufügen zu müssen. es ist nativ für jquery 1.4

Benutzer-Avatar
Ionuț Staicu

Fall 1: Wenn Sie wollen Anfang FadeOut nach 5 Sekunden, verwenden Sie dies:

jQuery.fn.delay = function(time,func){
    return this.each(function(){
        setTimeout(func,time);
    });
};

Dann verwenden Sie es wie folgt:

$('#div').delay(5000, function(){$(#div').fadeOut()})

Sie können dies überhaupt nicht erreichen, ohne setTimeOut zu verwenden

Fall 2: Wenn Sie das wollen Dauer von fadeOut auf 5 Sekunden, verwenden Sie dies:

$('#div').fadeOut(5000)

Was ist mit ausblenden() Funktion. Würde in etwa so aussehen:

$("#myDiv").fadeOut(5000);

  • Das beantwortet die Frage nicht wirklich. Er will verblassen nach 5 Sekunden, nicht die Überblendung zuletzt zum 5 Sekunden.

    – Jakob B

    16. Februar 2009 um 11:38 Uhr

  • Ich möchte 5 Sekunden warten, bevor die Animation beginnt. Es ist gelöst, ich habe die Funktion als $ (“div”).fadeOut (10000) geschrieben; dann funktioniert es so, wie ich es genau tun möchte, ohne die Funktion setTimeOut () zu verwenden. Vielen Dank!

    – Shiva Srikanth Thummidi

    18. Februar 2009 um 4:38 Uhr

  • Tatsächlich beginnt das Fadeout sofort 🙁

    – Waqar Alamgir

    26. Januar 2012 um 8:59 Uhr

  • Ich stimme Ihnen zu, Freunde, als diese Frage gepostet wurde, dass es damals keine passenden Antworten auf diese Frage gab und dass ich auch setTimeOut() oder andere Plugins nicht verwenden möchte. Okay, jetzt akzeptiere ich die richtige Antwort für diese Frage. vielen Dank für Ihre wertvollen Kommentare.

    – Shiva Srikanth Thummidi

    13. August 2013 um 9:43 Uhr


Benutzer-Avatar
Juri

Ich hatte gerade das gleiche Problem und meiner Meinung nach befriedigt die markierte Antwort die Frage nicht wirklich. Wenn man es mag

$("#myDiv").fadeOut(5000);

Wie vorgeschlagen dauert der Fading-Vorgang selbst 5 Sekunden, aber nicht Anfang nach 5 Sekunden.

Also suchte ich nach einer Alternative, ohne ein weiteres jQuery-Plugin usw. einbinden zu müssen. Die einfachste Lösung, die mir einfiel, war, es wie folgt zu schreiben:

$("#myDiv").fadeTo(5000,1).fadeOut(1000);

Es verwendet den FadeTo-Effekt und ist irgendwie ein “Hack”. Ich lasse das fadeTo 5 Sekunden laufen und lasse es auf 1 = 100% Deckkraft überblenden. Auf diese Weise nimmt der Benutzer keine Veränderung wahr. Danach der normale Aufruf von fadeOut mit einer Wirkungsdauer von 1 Sekunde.

Ich denke, diese Lösung ist ziemlich einfach, da sie kein zusätzliches Plugin benötigt und in einer Zeile geschrieben werden kann.

Prost.

//BEARBEITEN:

Anscheinend gibt es jetzt die Möglichkeit, so etwas zu tun:

$('#myDiv').delay(800).fadeOut(1000);

Hier sind einige weitere coole, nützliche Funktionen.

Ich bin mir nicht sicher, ob es 5 Sekunden dauern oder in 5 Sekunden beginnen soll.

Damit es 5 Sekunden dauert: Die jQuery-Fadeout-Funktion kann für ein div verwendet werden und reduziert die Deckkraft des Elements, bis sie 0 ist, und zeigt dann kein div an. Die Geschwindigkeit der Überblendung ist ein Parameter für die Funktion.

http://docs.jquery.com/Effects/fadeOut#speedcallback

Um es in 5 Sekunden zu starten, benötigen Sie eine Art Timer, der startet, wenn das Dokument oder Fenster fertig ist, oder wenn das div fertig ist, je nachdem, was Sie wollen.

Benutzer-Avatar
Simon_Weaver

// Ich benutze dieses Pause-Plugin, das ich gerade geschrieben habe

$.fn.pause = function(duration) {
    $(this).animate({ dummy: 1 }, duration);
    return this;
};

Nennen Sie es so:

$("#mainImage").pause(5000).fadeOut();

Hinweis: Sie benötigen keinen Rückruf.

Benutzer-Avatar
stuartd

Angenommen, Sie meinen “fünf Sekunden warten und dann ausblenden”, müssen Sie meiner Meinung nach ein Plugin verwenden, um die Verzögerung zu erzwingen, z Dieses hier

1016370cookie-checkWie kann ich ein div mit jQuery ausblenden?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy