2009-10-12 4 views
0

J'ai 4 éléments qui ont le même nom de classe que tous réagissent quand plané au-dessus ..Comment exécuter une fonction lorsque je passe la souris sur tous les événements de survol dans jQuery?

Est-il possible de: - Exécuter une fonction quand je ne suis plus sur l'une des classes?

Voici ce que j'avoir-

HTML:

<div class = "item">Hello</div> 
<div class = "item">Hi</div> 
<div class = "item">Ok</div> 
<div class = "item">Wahoo</div> 

jQuery:

$('.item').hover(function(e) { 
    $(this).addClass('hover'); 
    $('.item:not(.hover)').each(function(index) { 
     $(this).fadeTo('400', 0.5); 
    }); 
    $('.hover').fadeTo('400', 1); 

}, function(e) {  
    $(this).removeClass('hover'); 
    $('.item').fadeTo('400', .5); 
}); 

Essentiellement, je suis en train d'imiter la fonctionnalité de: http://labs.dragoninteractive.com/

Répondre

1

Cela devrait faire l'affaire.

$('.item').hover(function(e) { 
     $('.item').stop().each(function(index) { 
       $(this).stop().fadeTo('400', 0.5); 
     }); 
     $(this).stop().fadeTo('400', 1); 

}, function(e) {   
     $('.item').stop().fadeTo('400', 1); 
}); 
+0

Cela ne va pas tout à fait. Cette solution va tout faire disparaître d'abord, puis le fondu de sorte qu'il n'est pas si sensible à un vol stationnaire. J'ai aussi besoin d'une opacité totale quand je m'éloigne d'elle. – Matt

+0

Bonjour Matt. l'astuce à la réactivité dans une telle animation est d'utiliser stop(). Voyez comment je l'ai utilisé dans l'exemple mis à jour. fonctionne bien maintenant? – mauris

Questions connexes