2009-11-02 3 views
3

J'ai une page avec une liste d'éléments d'affichage (éléments) - qui sont tirés de façon dynamique, d'où le en direct. Quand un utilisateur survole un objet, je voudrais qu'il passe à une classe qui est "activée" et que, quand il disparaît, l'élément revient à la normale. Les éléments s'allument avec la ligne de code ci-dessous, mais ne s'éteignent pas. Suggestions?jquery problème mouseover/mouseout

$('.item').live('mouseover', function(){$(this).switchClass('item','item_on', 500);}); 
$('.item_on').live('mouseout', function(){$(this).switchClass('item_on','item', 500);}); 

Merci!

Répondre

1
$('.item').live('mouseover', 
function(){$(this).addClass('item_on');}); 
$('.item').live('mouseout', 
function(){$(this).removeClass('item_on');}); 

Aussi, je pense que pour switchClass à travailler, vous devez inclure jQuery UI après jquery, mais avant votre script, ce qui pourrait se passer est la souris va sortir de l'élément .item, avant. L'élément item_on est créé par le délai.

En outre, je pense que ce que vous cherchez, au lieu d'un switchclass retardé qui pourrait ne pas déclencher le gestionnaire d'événements en direct, essayez d'utiliser http://cherne.net/brian/resources/jquery.hoverIntent.html à la place, avec addClass/removeClass ci-dessus.

+0

la classe ajouter et supprimer a bien fonctionné. Merci. – slawder