2011-06-15 128 views
1

我有一个div是display:none,当鼠标移过另一个div时我想淡入它,当鼠标离开div时淡出它。问题是,一旦我越过了div,无论鼠标是否保持开启或关闭,它都保持淡入淡出10次左右。有人有主意吗?鼠标悬停鼠标一直执行

$(document).ready(function() { 

     $(".pic").mouseout(function(){ 
$(this).children('#summary').fadeOut(2000); 
    }).mouseover(function(){ 
    $(this).children('#summary').fadeIn(2000); 
    }); 

}); 

回答

4

在调用每个处理程序中的动画之前调用.stop()。

$(function(){ 
    $('.pic').hover(function(){ 
    $(this).children('#summary') 
     .stop(true) 
     .fadeOut(2000); 
    }), 
    function(){ 
    $(this).children('#summary') 
     .stop(true) 
     .fadeIn(2000); 
    }); 
}) 

编辑:哎呀,不得不解决我的复制/粘贴

+0

我已经尝试过,然后什么也没有发生。 $(本)。儿童( '#最新注释')停止()淡入(2000年)。 – Scarface 2011-06-15 17:55:57

+1

你传递给stop()的参数是什么?如果您调用stop(true),它将清除动画队列 - 如果您调用stop(true,true),它将清除队列并完成动画。 – kinakuta 2011-06-15 18:01:29

+0

谢谢kinakuta,它现在正在工作。 – Scarface 2011-06-15 18:10:25

0

使用插件像hoverIntent扼杀/出消息的速率。通常有帮助。