0

我正在尝试调试其他人编写的这段 jQuery 代码,但没有取得多大成功。

基本上,它是一个下拉菜单,其中包含的项目比视图中的要多,因此有向上和向下箭头来滚动菜单。发生的情况是,在您向下滚动,然后鼠标移出,然后再次鼠标悬停后,动画会重复,而不是停留在菜单的底部。

我知道这里没有很多细节和代码,但它是一个非常大的应用程序的一部分,并且希望有一个明显的错误可以立即跳出来。有人有什么想法吗?提前致谢。

//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();
                });
            })
4

1 回答 1

0

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

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

于 2012-06-11T18:17:29.717 回答