我正在尝试调试其他人编写的这段jQuery代码,并没有取得多大成功。
基本上,它是一个下拉菜单,其中包含的项目多于视图中的项目,因此有向上和向下箭头来滚动菜单。会发生什么,是在你向下滚动,然后是mouseout,然后再次鼠标悬停,动画重复,而不是停留在菜单的底部。
我知道这里没有很多细节和代码,但它是一个非常大的应用程序的一部分,并且希望有一个明显的错误直接跳出来。有人有什么想法吗?提前谢谢。
//Menu Scroll Up
jQuery(this).children("div").children(".learn_more_menu_up").mouseover(function(){
jQuery(this).siblings("ul").stop().animate({scrollTop: "-" + menuFullHeight}, menuScrollDuration);
jQuery(this).mouseout(function(){
jQuery(this).siblings("ul").stop();
});
});
//Menu Scroll Down
jQuery(this).children("div").children(".learn_more_menu_down").mouseover(function(){
jQuery(this).siblings("ul").stop().animate({scrollTop: menuFullHeight}, menuScrollDuration);
jQuery(this).mouseout(function(){
jQuery(this).siblings("ul").stop();
});
})
答案 0 :(得分:0)
从给定的代码中,每次鼠标悬停.learn_more_menu_down时,scrollTop都会生成动画,因此您应该每次都看到动画。您需要检查菜单是否在底部,如果是,则不要做任何事情,如果不是,它应该只从菜单中的底部动画到底部。
如果您可以将我们链接到有问题的页面或者有一些示例简化标记,那么这将有所帮助