jquery悬停效果,子菜单消失

发布于 2024-11-27 17:57:03 字数 867 浏览 2 评论 0原文

我使用 wordpress 动态创建导航栏,并使用 jquery 将子菜单附加到导航栏。使用 jquery,当您将鼠标悬停在第二个菜单项上时,子菜单会向下动画并淡入。我在这里创建了一个 jsfiddle: http ://jsfiddle.net/NWpBB/

它可以工作,但效果不佳。如果将鼠标悬停在子菜单中右上角的列表项上,它就会消失。看起来也有点毛病。考虑到上述 js 小提琴链接上的 jquery,我知道如何改进此悬停效果的功能吗?

这是jquery:

$("#menu-nav li:nth-child(2) a").append('<span id="dropdown"></span');

$(".hoverMenu").css({"opacity":"0"});
        $(".hoverMenu").appendTo("#menu-nav li:nth-child(2)");

        $("#menu-nav li:nth-child(2)").hover(function(){
            $(".hoverMenu").stop().animate({
                top: '38',
                opacity: '1'
            }, 500);
        }, function(){
            $(".hoverMenu").stop().animate({
                top: '-290',
                opacity: '0'
            }, 500);
        });

I'm using wordpress to dynamically create a navbar, and jquery to append a submenu to the nav-bar. Using jquery, when you hover over the second menu item, the submenu animates down and fades in. I created a jsfiddle here: http://jsfiddle.net/NWpBB/

It works, but not well. If you hover over the top right list item in the submenu, it disappears. It also seems a bit glitchy. Any idea on how I can improve the functionality of this hover effect given the jquery on the above js fiddle link?

Here is the jquery:

$("#menu-nav li:nth-child(2) a").append('<span id="dropdown"></span');

$(".hoverMenu").css({"opacity":"0"});
        $(".hoverMenu").appendTo("#menu-nav li:nth-child(2)");

        $("#menu-nav li:nth-child(2)").hover(function(){
            $(".hoverMenu").stop().animate({
                top: '38',
                opacity: '1'
            }, 500);
        }, function(){
            $(".hoverMenu").stop().animate({
                top: '-290',
                opacity: '0'
            }, 500);
        });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我恋#小黄人 2024-12-04 17:57:03

问题已解决: http://jsfiddle.net/NWpBB/1/

您只想访问直接#menu-nav 的“li”子级因此添加了“>”之间。

您还有另一个问题:当您将鼠标悬停在 0 不透明度的子菜单上时,它开始出现,因为 jQuery 告诉它。你应该让它显示:无,而不仅仅是隐藏。

编辑:最后一个解决了http://jsfiddle.net/NWpBB/4/

Problem solved : http://jsfiddle.net/NWpBB/1/

You wanted to access only the direct "li" child of #menu-nav hence adding a ">" in between.

You have an other glitch : when you hover over the 0-opacity submenu, it starts to appear because it is told to by jQuery. You should make it display:none, not only hidden.

EDIT : last one solved http://jsfiddle.net/NWpBB/4/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文