我已经制作了翻转菜单并使用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);
});
答案 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);
});
答案 1 :(得分:0)
你应该试试这个。
$("#menu_container").hover(function(){
$("#lmenu").slideToggle(250);
}, function(){
$("#lmenu").slideToggle(250); });