2011-11-09 5 views
1

Voici quelques javascript désordre:Quel est le raccourci pour cela?

$('.menu').mouseover(function() { 
    $(this).animate({ 
    }, 500, function() {}); 
}).mouseout(function() { 
    $(this).animate({ 
    }, 500, function() {}); 
}); 

Comment puis-je faire ce petit pas minify, mais est pas là une façon de dire comme "toggle" au lieu de "mouseover" puis "mouseout"?

thx

Répondre

5

Vous cherchez hover()

+0

Cool. Donc, quand je supprime le "mouse out" et que j'ai juste le hover, comment puis-je spécifier ce qui se passe à la sortie de la souris? Fait-il automatiquement le contraire de ce que j'ai spécifié? – alt

+0

@JacksonGariety Non, vous fournissez deux arguments de rappel, le premier pour 'mouseenter' et le second pour' 'mouseleave'' – Phil

+0

oh sweet, got it. Bon exemple dans la documentation de jQuery, merci! – alt

2

Utilisez .hover au lieu de mouseover mouseout. http://api.jquery.com/hover/ comme vous pouvez le voir se gestionnaire et handler ce fera ce que vous voulez dans mousein et hors

0

Oui, jetez un oeil à la fonction hover:

http://api.jquery.com/hover/

+0

'toggle()' sert un but totalement différent – Phil

+0

@Phil - J'ai sauté l'arme ... J'ai changé ma réponse. – Sam

4

jQuery .hover() combines .mouseenter() and .mouseleave() into one convenient method. Il convient également de noter que mouseenter et mouseleave travail un peu différemment, et en général beaucoup mieux, que mouseover et mouseout.

$('.menu').hover(
    function() { 
     $(this).animate({ 
     }, 500, function() {}); 
}, 
    function() { 
     $(this).animate({ 
     }, 500, function() {}); 
}); 
+0

Merci pour la clarification! – alt

+1

@Jackson, de rien. Je n'ai pas vu d'autres réponses montrer votre code dans un exemple. – Sparky

Questions connexes