2014-04-09 32 views
0

所以在经过一番质疑之后,我写了一个jsfiddle页面来向你展示im试过的内容。当通过链接的div显示,但当鼠标移过它时,它淡出,再次淡入淡出。不可能的是,当它超出div时,它会一直呆在那里,直到你移开鼠标?jquery菜单栏fadein fadeout错误

的例子上,当你去菜单栏上面弄皱作品的jsfiddle .. here's我的jQuery代码.. CSS和HTML语言的jsfiddle

感谢您的帮助了!

http://jsfiddle.net/DFxB7/

<script type="text/javascript"> 
    $("#crep, #front").hover(function (e) { 
      e.preventDefault(); 
      $("#front").fadeIn(); 

     }, 

      function(){ 
      $("#front").fadeOut(); 
    }); 
    </script> 
+0

尝试使用'.mouseover'和'.mouseout'而不是'.hover'。 – user13286

回答

1

添加事件.stop()这样的:

$("#crep, #front").hover(function (e) { 
      e.preventDefault(); 
      $("#front").stop().fadeIn(); 

     }, 
     function(){ 
      $("#front").stop().fadeOut(); 
    }); 

DEMO

+0

非常感谢你!这有助于:)你能解释为什么stop()有帮助,并且在淡入淡出之前会出现这种情况吗? – user3013745

+0

stop()函数在这种情况下有所帮助,因为它停止了其他事件并识别您是否悬停或不在@ user3013745 –

0

我认为这可能给你,你以后的功能...

var toggle = 0; 
$("#crep, #front").hover(function (e) {   
    if(toggle == 0) 
    { 
     toggle = 1; 
     $("#front").stop().fadeIn(); 
    }else{ 
     toggle = 0; 
     $("#front").stop().fadeOut(); 
    } 
});