jQuery fadeOut sans afficher aucun?
Est-il une alternative à fadeOut() qui n'utilise pas de display:none pour le style? Je voudrais juste utiliser visibilité caché afin d'éviter toute sorte de décalage dans la mise en page?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
.animate()
sur leopacity
directement:De cette façon l'élément occupe encore l'espace comme vous le souhaitez, il a juste un
0
opacité, il est donc efficacement levisibility: hidden
quand il se termine.visibility: hidden;
dans le rappel de fin de fonction ou quelque chose comme ça.Oui, il existe une alternative. Il est appelé
.fadeTo()
, où vous définissez la cible d'opacité, qui, dans votre cas sera0
.Cela ne changera pas la
display
bien à la fin.Animation personnalisée est une alternative
http://api.jquery.com/animate/
Une façon de le faire est de capturer le mode d'affichage, puis .fadeOut, et dans la, faire de votre méthode préférée de la clandestinité, et de régler l'affichage à ce qu'il était:
Je veux que vous fadeOut, puis modifier le contenu et puis fadeIn de nouveau:
Noter que
est (bizarrement) pas compatible avec
(si vous souhaitez montrer à nouveau). Donc, si vous utilisez
fadeTo(500, 0)
afin de cacher quelque chose sans le css
display: none
ensuite, vous devez utiliserfadeTo(500, 1)
à s'estomper, il ou elle devra toujours
opacity: 0
gauche partout dans le css et restent invisibles.