Je me demandais lequel de ces deux scénarios fonctionne le mieux pour l'échange entre 2 déclaré. Disons pour désactiver temporairement un bouton.Est-il préférable d'échanger des classes ou d'échanger du contenu dans jQuery
Je pense que le premier et le plus simple est d'avoir les deux morceaux de html déjà en place. Et quand on clique dessus la classe de n'est permuté, comme ceci:
css:
.none{display:none;}
html init:
<div class"somecss none">but1</div>
<div class"somecss">but1</div>
html changed:
<div class"somecss none">but1</div>
<div class"somecss">but1</div>
Le deuxième scénario que je peux penser est swapping tout le morceau de HTML en utilisant javascript. Je pense que le code est clair sur celui-là. Vous venez d'avoir une instruction if et insérez simplement le code html requis pour l'état.
pour, le contre
Dans le premier scénario, vous avez plus d'éléments DOM je suppose, surtout lorsque le html des deux conteneurs est grande. Il n'y a cependant pas grand-chose à faire dans javascrip. Dans le second scénario, le DOM est minimal, mais il faut un peu plus de javascript.
Lequel de ces 2 scénarios est le meilleur et pourquoi?
Et peut-être que vous connaissez une autre solution dont je n'étais pas au courant, j'aimerais l'entendre.
Merci et bonne journée!
Belle réponse, seulement 2 choses ne sont pas claires pour moi avec cela. 1) Si j'active, disons l'un des 6 éléments, cela désactivera-t-il automatiquement l'autre, ou devrait-il encore être fait? Et deuxièmement, si je mets l'attribut enabled à désactiver cela le cachera, puis-je ajuster sa valeur en css? –
1) Parlez-vous d'un accordéon ou du bouton? Si accordian, non, vous devrez animer le panneau ouvert en cours à un état fermé, et animer celui qui sera ouvert à son état complet. Si vous parliez du bouton, cela dépend. Vous pouvez appliquer une classe à un ensemble de boutons, ce qui vous permet de les désactiver/activer en tant que groupe. 2) Pas au début - la plupart des navigateurs gris sur le bouton, mais vous pouvez appliquer un style à l'état désactivé: bouton [désactivé] { display: none; } – Josh