jQuery滚动菜单没有正确动画

时间:2012-06-11 17:45:29

标签: jquery

我正在尝试调试其他人编写的这段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();
                });
            })

1 个答案:

答案 0 :(得分:0)

从给定的代码中,每次鼠标悬停.learn_more_menu_down时,scrollTop都会生成动画,因此您应该每次都看到动画。您需要检查菜单是否在底部,如果是,则不要做任何事情,如果不是,它应该只从菜单中的底部动画到底部。

如果您可以将我们链接到有问题的页面或者有一些示例简化标记,那么这将有所帮助