jquery .stop()正在降低每个悬停时div的高度

时间:2014-03-29 06:59:05

标签: jquery html css

我已经制作了翻转菜单并使用jquery stop方法来防止当有人经常使用鼠标和moouseleaves时出现的闪烁效果。但是在应用jquery stop方法并经常执行mouseenter和mouseleave后,主菜单的高度保持不变每次鼠标移动和重新进入动作都会减少。这有点奇怪,我无法解决问题。

   $("#menu_container").on('mouseenter',function(){
        $("#lmenu").stop().slideDown(250);

    });

   $("#menu_container").on('mouseleave',function(){
     $("#lmenu").stop().slideUp(250);
   }); 

2 个答案:

答案 0 :(得分:0)

而不是通常适用于我的.stop()没有任何问题,还有另一种选择: 检查动画完成情况

代码

var hov = $("#menu_container");
var shw = $("#lmenu");
hov.on('mouseenter',function(){
    if(!shw.is(':animated'))
    shw.slideDown(250);

});

hov.on('mouseleave',function(){
    shw.slideUp(250);
});

Demo Fiddle

答案 1 :(得分:0)

你应该试试这个。

 $("#menu_container").hover(function(){
    $("#lmenu").slideToggle(250);

}, function(){
     $("#lmenu").slideToggle(250); });