/ / jQuery effets de survol répétés - jQuery

jQuery effets de vol stationnaire répétés - jquery

J'ai ce problème étrange chaque fois que je roule monsurvolez chacun des liens dans le code ci-dessous plusieurs fois, le lien continuera l'effet de survol pendant trop longtemps et l'appliquera de manière répétée. Je l’ai donc pour que jquery change de classe quand ils sont "survolés" de façon à ce que celle sur laquelle la souris est passée est mise en surbrillance.

<ul>
<li><a href="#" class="current">Home</a></li>
<li><a href="#" class="hover">News</a></li>
<li><a href="#" class="hover">Media</a></li>
<li><a href="#" class="hover">About</a></li>
</ul>

C'est le code jQuery:

$(document).ready(function() {
$(".hover").hover(function() {
$(this).switchClass("hover", "hover-on", 250);
}, function() {
$(this).switchClass("hover-on", "hover", 250);
});
})

Et les classes css contiennent simplement une couleur de fond différente.

Essayez le lien ci-dessous pour voir ce que je veux dire, je ne sais pas comment décrire le comportement. En survolant plusieurs fois, déplacez simplement votre souris sur chacun des liens à quelques reprises. http://74.63.212.104/nav/

Réponses:

4 pour la réponse № 1

Mise en place d'un jQuery .stop() avant de démarrer l'animation, efface tout ce qui reste dans la file d'attente d'animation pour cet élément.

$(document).ready(function() {
$(".hover").hover(function() {
$(this).stop(true, false).switchClass("hover", "hover-on", 250);
}, function() {
$(this).stop(true, false).switchClass("hover-on", "hover", 250);
});
});

MODIFIER:

Explication de .stop() paramètres

.stop( [clearQueue] [, jumpToEnd] )

clearQueue - Un booléen indiquant s'il faut également supprimer l'animation en file d'attente. La valeur par défaut est false.

sauterToEnd - Un booléen indiquant s'il convient de terminer l'animation en cours immédiatement. La valeur par défaut est false.