2013-02-05 59 views
1

我试图自定义一个显示/隐藏功能。在滚动div时,只要光标位于父div上方,另一个div slide向下滚动并保持该方式。当鼠标离开父div的区域时,辅助div应该滑回。这段代码是这样做的,但是在mouseenter和mouseout上多次上下滑动,每次事件只需要执行一次。有任何想法吗?谢谢。jquery show div不会停止动画

$(document).ready(function() 
{ 
    $(".slidingDiv").hide(); 
    $(".show_hide").show(); 

    $('.show_hide').mouseenter(function() 
    { 
     $(".slidingDiv").slideToggle(); 
    }); 

    $('.show_hide').mouseout(function() 
    { 
     $(".slidingDiv").slideToggle(); 
    }); 
}); 

回答

0

使用stop(true)每个动画之前,像这样:

$(".slidingDiv").stop(true).slideToggle(); 

使用这个代替,让我知道,如果它的工作原理:

$(document).ready(function() 
{ 
    $(".slidingDiv").hide(); 
    $(".show_hide").show(); 

    $('.show_hide').hover(
     function() { 
     $(".slidingDiv").stop(true).slideToggle(); 
     }, 
     function() { 
     $(".slidingDiv").stop(true).slideToggle(); 
     } 
); 

}); 

检查jQuery hover()以获得更多信息。

+0

谢谢,但还是有一个bug。只有翻转标题才能正确执行该功能。您可以看到该区域的其余部分失败。 http://jsfiddle.net/ophilium/VFBQS/ – user1888574

+0

现在它应该工作。检查编辑的代码。 –

+0

正确的链接:http://jsfiddle.net/VFBQS/3/ –