悬停时的 Jquery 动画子菜单不流畅

标签 jquery css navigation hover

我正在开发带有子菜单的导航栏。在页面加载时,栏加载,子菜单被隐藏。当你将鼠标悬停在一个链接上时,子菜单就会出现。我在这里的 jsfiddel 中准备了我所有的代码:http://jsfiddle.net/6cAaN/

如您所见,它运行良好;然而并不完美。这有点马车。有什么想法可以改进以下 jquery 以使悬停效果更平滑和更好地运行吗?

这是 jquery:

$("#menu-nav ul:first").css({"opacity":"0"});

    $("#menu-nav li").hover(function(){
         $(this).find('ul:first').stop().show().animate({
            "top" : "42px",
            "opacity" : "1"
         }, 300); 

    },function(){ 
        $(this).find('ul:first').stop().animate({
            "top" : "0",
            "opacity" : "0"
        });

});

任何帮助都会很棒!

最佳答案

您可以按原样收紧现有代码:在 <li> 下方有一个空间。和下拉菜单上方 <ul> .你在哪里设置为 "top" : "42px" ,它会创建一个没有附加悬停事件的间隙,因此它会在尝试同时隐藏/显示时使下拉菜单“摇晃”。

而不是设置 top属性,只需将其更改为 padding-top在每个实例中。它使它更平滑,更“可悬停”。

http://jsfiddle.net/Madmartigan/6cAaN/8/

关于悬停时的 Jquery 动画子菜单不流畅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5752201/

相关文章:

html - 正方形的 CSS 内部颜色

wpf - 框架导航 - DataContext 未继承

css - WordPress的子导航栏

通用应用程序中的 NavigationService

javascript - 如何在按钮onclick后禁用按钮

jquery - 在将图像添加为背景图像之前检查图像是否存在

javascript - 从 bootstrap 下拉列表中获取选定的文本

javascript - 为什么不允许在 jquery 数据表服务器端处理 ajax 中使用成功?

css - 防止 div 与固定的 div 重叠

html - 悬停时菜单项颜色不变