jquery .mouseover () et .mouseout () avec fondu

Je veux fondre un div dans avec jQuery lorsque l’utilisateur survole un div parent.

J’ai le code suivant:

HTML:

    Explore D&D Creative         

CSS:

 /*============================================ CONTENT ============================================*/ #content { min-height:100%; margin-top:55px; padding-top:10px; } /*============================================ HOME.PHP ============================================*/ #home #content #top-slide { background-color:#3D3B37; height:300px; position:relative; } #home #content #top-slide #select { height:48px; width:100%; position:absolute; bottom:0; background:url(../img/home/bg-slie-select.png) repeat; display:none; } #home #content #twitter-main { background-color:#cccccc; height:200px; margin:10px 0; padding-top:30px; text-align:center; } #home #content #twitter-main i.icon-twitter { background:url(../img/common/social/twitter.png) no-repeat center; width:37px; height:37px; margin:0px auto 20px auto; display:block; } #home #content #twitter-main span.divider { border-top:1px solid #535353; height:0; width:100px; display:block; margin:0 auto; } #home #content #twitter-main h2.feed { margin:40px 0; } #home #content #twitter-main p.info { font-size:10px; color:#666666; } 

et JS:

 $(document).ready(function() { //HOME.PHP $('#top-slide').mouseover(function() { ('#select').fadeIn(600); }); $('#top-slide').mouseout(function() { ('#select').fadeOut(600); }); });​ 

Ce code appelle les erreurs suivantes avec les souris suivantes:

Uncaught TypeError: Object #select has no method 'fadeIn'

Uncaught TypeError: Object #select has no method 'fadeOut'

Je pensais que cela pouvait avoir quelque chose à voir avec les méthodes mouseover / mouseout, mais je l’ai essayé avec la méthode clic aussi, mais c’est pareil.

J’ai probablement fait quelque chose de stupide mais je ne trouve pas le problème.

Voici un JSFIDDLE pour tout le monde: http://jsfiddle.net/Ze28y/1/

Vous avez manqué le $ dans les gestionnaires.

 $('#top-slide').bind("mouseenter", function() { $('#select').stop(true).fadeIn(600); //$('#select'), not ('#select') }); $('#top-slide').bind("mouseleave", function() { $('#select').stop(true).fadeOut(600); //$('#select'), not ('#select') }); 

En outre, vous devez d’abord append un stop avant vos fondus pour éviter que plusieurs fondus en fondu ne soient mis en queue . Et, étant donné que #select est un enfant de #top-slide , vous devez utiliser les événements mouseenter et mouseleave au lieu de mouseover et mouseout . (lié à cela )

utiliser $

  $('#top-slide').mouseover(function() { $('#select').fadeIn(600); }); $('#top-slide').mouseout(function() { $('#select').fadeOut(600); }); 

Vous avez oublié le $ pour déclarer un object jQuery

essayez ceci, vous avez manqué $

  $('#top-slide').mouseover(function() { $('#select').fadeIn(600); }); $('#top-slide').mouseout(function() { $('#select').fadeOut(600); }); 

Manquer $ et vous feriez mieux d’utiliser le vol stationnaire.

 $('#top-slide').hover( function() { $('#select').fadeIn(600); }, function() { $('#select').fadeOut(600); } );