Dans jQuery, il existe des méthodes .hide()
et .show()
qui définissent le display: none
paramètre CSS .
Existe-t-il une fonction équivalente qui définirait le visibility: hidden
paramètre?
Je sais que je peux utiliser, .css()
mais je préfère une fonction similaire .hide()
. Merci.
.toggle()
Réponses:
Vous pouvez créer vos propres plugins.
Si vous voulez surcharger le jQuery d'origine
toggle()
, ce que je ne recommande pas ...jsFiddle .
la source
toggle()
ce qui pourrait casser d'autres scripts. Si vous le souhaitez, vous pouvez ajouter un argument supplémentaire àtoggle()
pour spécifier s'il fautvisibility
oudisplay
non basculer. J'utiliserais juste celui personnalisé dans mon dernier exemple, cependant. :)show
(vitesse, accélération, rappel)?(function() { })()
ou similaire, ASI ne démarre pas car il ressemble à une invocation de fonction. Essayez ceci , puis retirez le!
.Il n'y en a pas de intégré, mais vous pouvez écrire le vôtre assez facilement:
Vous pouvez alors appeler cela comme ceci:
Voici un exemple de travail .
la source
(function($) {...}(jQuery));
encapsuleur? Je n'ai jamais défini mes propres fonctions dans jQuery auparavant, j'ai toujours juste défini des fonctions en JavaScript simple.$
identifiant à l'intérieur de la fonction, même s'il fait référence à autre chose dans la portée parent.Une façon encore plus simple de le faire est d'utiliser la méthode toggleClass () de jQuery
CSS
HTML
JS
la source
Si vous n'avez besoin que de la fonctionnalité standard de masquer uniquement avec visibilité: masqué pour conserver la disposition actuelle, vous pouvez utiliser la fonction de rappel de masquer pour modifier le CSS dans la balise. Masquer les documents dans jquery
Un exemple :
Cela utilisera l'animation cool normale pour masquer le div, mais après la fin de l'animation, vous définissez la visibilité sur caché et l'affichage sur bloquer.
Un exemple: http://jsfiddle.net/bTkKG/1/
Je sais que vous ne vouliez pas de la solution $ ("# aa"). Css (), mais vous n'avez pas spécifié si c'était parce qu'en utilisant uniquement la méthode css () vous perdiez l'animation.
la source
Voici une implémentation, ce qui fonctionne
$.prop(name[,value])
ou$.attr(name[,value])
fonctionne. Si lab
variable est remplie, la visibilité est définie en fonction de cela etthis
est renvoyée (permettant de continuer avec d'autres propriétés), sinon elle renvoie une valeur de visibilité.Exemple:
la source
Équivalent JS pur pour jQuery hide () / show ():
Nous utilisons en
return el
raison de satisfaire l' interface fluide "desing pattern".Voici un exemple de travail .
Ci-dessous, je propose également une alternative HAUTEMENT déconseillée , qui est cependant probablement une réponse plus "proche de la question":
bien sûr, cela n'implémente pas jQuery 'each' (donné dans la réponse @JamesAllardice ) car nous utilisons ici des js purs.
Un exemple de travail est ici .
la source