Gibt es eine Alternative zu fadeOut (), die keine Anzeige verwendet: keine für den Stil? Ich möchte nur die versteckte Sichtbarkeit verwenden, um Verschiebungen im Seitenlayout zu vermeiden.
77
Sie können mit .animate()
auf dem opacity
direkt:
$(".selector").animate({ opacity: 0 })
Auf diese Weise nimmt das Element immer noch Platz ein, wie Sie es möchten. Es hat nur eine 0
Deckkraft, sodass es praktisch genauso ist wie am visibility: hidden
Ende.
visibility: hidden;
Rückruffunktion für die Fertigstellung oder ähnliches festlegen .Ja, es gibt eine Alternative. Es wird aufgerufen
.fadeTo()
, wo Sie die Zielopazität festlegen, die in Ihrem Fall sein wird0
.$('element').fadeTo( 1000, 0 ); // fade to "0" with a 1000ms duration
Dies wird die
display
Eigenschaft am Ende nicht ändern .quelle
Benutzerdefinierte Animation ist eine Alternative http://api.jquery.com/animate/
.animate({opacity: 0.0}, 5000, 'linear', callback);
quelle
Eine Möglichkeit, dies zu tun, besteht darin, den Anzeigemodus und dann .fadeOut zu erfassen und im Endeffekt Ihre bevorzugte Methode zum Ausblenden auszuführen und die Anzeige auf den ursprünglichen Wert zurückzusetzen:
var $element = $('#selector'); var display = $element.css('display'); $element.fadeOut(500, function() { $element.css('visibility', 'hidden'); $element.css('display', display); }
quelle
Wenn Sie ausblenden möchten, ändern Sie dann den Inhalt und dann wieder einblenden :
$("#layer").animate({opacity: 0}, 1000, 'linear', function(){ //Do here any changes to the content (text, colors, etc.) $("#layer").css('background-color','red'); //For example $("#layer").animate({opacity: 1}); //FadeIn again });
quelle
Beachten Sie, dass
fadeTo(500, 0) // fade out over half a second fadeTo(0, 0) // instantly hide
ist (seltsamerweise) nicht kompatibel mit
fadeIn()
(wenn Sie es wieder zeigen möchten). Also, wenn Sie verwenden
fadeTo(500, 0)
Um etwas ohne CSS zu verstecken,
display: none
müssen Sie verwendenfadeTo(500, 1)
um es wieder
opacity: 0
einzublenden oder es bleibt noch im CSS übrig und bleibt unsichtbar.quelle