vérifier si cet élément OU cet élément est planait avec jQuery
J'ai deux éléments distincts dans mon DOM qui exigent un changement lorsque l'un des deux est a plané. Lorsque le lien est a plané, l'image src doit changer (facile) ET la couleur du lien qui doit changer. Lorsque l'image est planait, le même effet doit se produire (image src changements & créer un lien entre les changements de couleur)
C'est en fait assez facile à faire, mais j'ai le sentiment qu'il y est un moyen BEAUCOUP plus facile de le faire, puis l'approche que je prends. Actuellement, je suis allez à travers chacun des 8 éléments et les tests s'ils sont planait individuellement. Cela fonctionne bien, mais il y a tellement plus de jQuery ici que j'ai le sentiment qu'il devrait être.
J'ai essayé d'ajouter l'attribut onmouseover
à la fois des éléments de déclenchement et de la même fonction, mais la fonction n'était pas de déclenchement.
Est-il un moyen de tester si l'élément est planait et déclencher une fonction si l'on est? Quelque chose comme ceci:
if($(#elm1).hover() || $('#elm2').hover()) {
//effect here
}
OU
if($('#elm1').is(':hover') || $('#elm2').is(':hover')) {
//effect here
}
J'ai essayé mon code d'exemple ci-dessus, mais n'était pas d'obtenir des résultats. Est-il un moyen de faire ceci ou suis-je coincé avec la vérification de chaque élément?
pourquoi ne pas vous ajouter une classe comme
hovered
lorsque vous ne hover() et vérifier .hovered
🙂Parce que je suppose que jQuery déjà de magasins d'état, rendant le double de ne rien faire de bon
le
var isHovered
chose ne fonctionne pas parce que j'ai encore de vérifier les 8 différents éléments individuellement avec qui. Je suis en train de vérifier le lien et l'image, dans la même fonction.OriginalL'auteur Ty Bailey | 2013-11-19
Vous devez vous connecter pour publier un commentaire.
Il fonctionne, vous êtes juste en cours d'exécution sur chargement de la page, et non pas lorsque la souris se déplace
Exemple
Mais, comme d'autres l'ont dit, jQuery connaît déjà le
hover
état, de sorte que ce serait inutile. Dans la pratique, vous devez utiliser le même sélecteur d'appliquer la fonction deIl permettra de sélectionner les éléments sur chaque événement mousemove, pas assez efficace, vous devez les sélectionner en premier et utiliser des variables. Vous pourriez aussi bien l'écouter mouseenter et mouseleave sur cet élément.
D'accord! C'est tout à fait un vieux post de quand j'étais premier de l'apprentissage de la programmation. Aussi, la deuxième méthode est la meilleur de toute façon
OriginalL'auteur Zach Saucier
Je voudrais enregistrer les événements à la souris et à chaque fois que l'événement se produit déclencher une fonction
OriginalL'auteur inputError
Pourquoi ne pas simplement ajouter le gestionnaire de ces deux éléments comme ceci :
Devrait fonctionner . . .
OriginalL'auteur Pat Dobson