简单的jQuery悬停向下滑动,反向向上滑动?

发布于 2024-10-02 03:20:47 字数 599 浏览 5 评论 0原文

我有以下简单的向下滑动悬停菜单。

 $(function(){
$('.sub-menu').hide();
$('.menu-item').hover(
    function () {
        var target = $(this).children('ul');
        $.browser.msie ? target.show() : target.slideDown(150);
    },
    function () {
        var target = $(this).children('ul')
        $.browser.msie ? target.hide() : target.slideUp(150);
    }
);

});

当您将鼠标悬停在 .menu-item 上时,它会向下滑动 .sub-menu,并在您离开时向上滑动,完美。

当您将鼠标悬停在 .menu-item 上时,我需要它向上滑动 .sub-menu,反之亦然。

我已经完成了交换 SlideUp 和 SlideDown 的明显操作,但它似乎不起作用。

有什么想法吗?

如果可以的话非常感谢:)

I have the following simple slide down hover menu.

 $(function(){
$('.sub-menu').hide();
$('.menu-item').hover(
    function () {
        var target = $(this).children('ul');
        $.browser.msie ? target.show() : target.slideDown(150);
    },
    function () {
        var target = $(this).children('ul')
        $.browser.msie ? target.hide() : target.slideUp(150);
    }
);

});

It slides down .sub-menu as you hover over .menu-item and slides back up when you leave, perfect.

I need it to slide up .sub-menu when you hover over .menu-item, vise versa to the above really..

I've done the obvious of swapping the slideUp and slideDown but it doesn't seem to work.

Any ideas?

Many thanks if you can :)

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

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

发布评论

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

评论(1

淡淡的优雅 2024-10-09 03:20:47
$(function(){
    $('.menu-item').hover(
        function () {
            var target = $(this).children('ul');
            $.browser.msie ? target.hide() : target.slideUp(150);
        },
        function () {
            var target = $(this).children('ul')
            $.browser.msie ? target.show() : target.slideDown(150);
        }
    );
});

应该可以工作,尽管没有更多代码我无法测试它。

基本上我假设 .sub-menu 已经显示,所以当您将鼠标悬停在 .menu-item 上时,您想隐藏它,对吗?

我所做的更改是:我交换了两个函数并删除了开头的 $('.sub-menu').hide(); 。它在实际滑动之前不需要隐藏。

编辑:处理您的最新示例。

在这里查看: http://jsfiddle.net/GwBuj/3/

我所做的是:

  • #button#slider 更改为
    类(.button.slider
  • 相应地修改 CSS,并且
    更改了 .slider CSS 以允许
    多个按钮(你有它
    绝对定位,不会
    允许您看到其他)
  • 调整 JQuery 代码以在多个
    按钮
  • 添加了另一个按钮来显示
    你认为它有效
$(function(){
    $('.menu-item').hover(
        function () {
            var target = $(this).children('ul');
            $.browser.msie ? target.hide() : target.slideUp(150);
        },
        function () {
            var target = $(this).children('ul')
            $.browser.msie ? target.show() : target.slideDown(150);
        }
    );
});

Should work, though I can't test it without more code.

Basically I'm assuming .sub-menu is already showing, so when you hover over .menu-item you want to hide it, correct?

All that I changed was: I swapped around the two functions and removed the $('.sub-menu').hide(); that was at the beginning. It doesn't need hiding before it actually slides up.

Edit: Working on your latest example.

Check it out here: http://jsfiddle.net/GwBuj/3/

What I did is:

  • Change #button and #slider to
    classes (.button and .slider)
  • Modify the CSS accordingly, and
    changed .slider CSS to allow for
    multiple buttons (You had it
    positioned absolutely which wouldn't
    allow you to see the others)
  • Adjust the JQuery code to work on multiple
    buttons
  • Added another button to show
    you that it works
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文