Dans jQuery, je dois faire une instruction if pour voir si $ this ne contient pas la classe '.selected'.
$(".thumbs").hover(function(){
$(this).stop().fadeTo("normal", 1.0);
},function(){
$(this).stop().fadeTo("slow", 0.3);
});
Fondamentalement, lorsque cette fonction est exécutée (en survol), je ne veux pas effectuer les fondus si la classe `` .selected '' a été ajoutée à la div, cela signifie que l'image sera à pleine opacité pour signifier qu'elle est sélectionnée. Recherche sur Google sans succès même s'il s'agit d'une simple question de savoir comment utiliser une instruction IF ...
.not( ".selected" )
et cela fonctionnera de la même manière. Des trucs géniaux.jQuery a la fonction hasClass () qui retourne true si un élément de l'ensemble encapsulé contient la classe spécifiée
Jetez un œil à mon exemple d'utilisation
Voici le code pour ça
ÉDITER:
ce n'est qu'une supposition, mais essayez-vous de réaliser quelque chose comme ça ?
Le code jQuery est ici-
la source
Je pense que l'auteur recherchait:
la source
$(this).not('.selected').length
comme booléen si vous le voulez vraiment, mais c'est un peu bavard.Lorsque vous vérifiez si un élément a ou n'a pas de classe, assurez-vous que vous n'avez pas mis accidentellement un point dans le nom de la classe:
Après avoir longtemps regardé mon code, j'ai réalisé que j'avais fait cela. Une petite faute de frappe comme celle-ci m'a pris une heure pour comprendre ce que j'avais fait de mal. Vérifiez votre code!
la source
Mettre un if à l'intérieur de chaque partie du survol vous permettra de modifier dynamiquement la classe de sélection et le survol continuera de fonctionner.
À titre d'exemple, j'ai également joint un gestionnaire de clics pour basculer la classe sélectionnée vers l'élément cliqué. Ensuite, je déclenche l'événement de survol sur l'élément précédent pour le faire disparaître.
la source
Vous pouvez également utiliser les méthodes addClass et removeClass pour basculer entre des éléments tels que des onglets.
par exemple
la source
Que diriez-vous, au lieu d'utiliser un if à l'intérieur de l'événement, de dissocier l'événement lorsque la classe select est appliquée? Je suppose que vous ajoutez quelque part la classe à l'intérieur de votre code, donc dissocier l'événement ressemblerait à ceci:
Le seul inconvénient est que si vous supprimez la classe sélectionnée de l'élément, vous devez à nouveau la souscrire à l'événement de survol.
la source