我有一个幻灯片菜单,其表现不正常,有时如果我快速滑过它,它可能会上下滑动4到5次。在其他时候,如果我在正确加载之前将鼠标悬停在它上面,菜单将会滑动并变为“正常”状态,这样如果我将鼠标悬停在它上面,它会在我有机会点击任何菜单项之前向下滑动。 / p>
以下是代码:
$(document).ready(function(){
var opened = false;
$("#menu_box").hover(function(){
if(opened){
$("#menu_box").animate({"top": "+=97px"}, "200");
}
else{
$("#menu_box").animate({"top": "-=97px"}, "200");
}
$("#menu_content").slideToggle("200");
$("#menu_tab .close").toggle();
opened = !opened;
});
})
代码最初是一个点击功能,而不是悬停,所以我尝试将其修改为以下内容:
$(document).ready(function(){
$("#menu_box").hover(function(){
$("#menu_box").toggle(function(){
$("menu_box").animate({"top": "-=97px"}, "200");
$("#menu_content").slide("200");
});
});
});
但这只会让菜单从右向左淡化 - 根本不会滑动。
我哪里错了? TIA!
答案 0 :(得分:1)
使用bind mouseenter / mouseleave修复它而不是悬停!