jQuery 导航菜单 - 子菜单在 MouseOut 时消失

标签 jquery navigation mouseout mouseenter

我正在开发自己的 jQuery 导航菜单,但遇到了一些问题,因为一旦焦点从主导航菜单上的选择移开,子菜单就会消失。我知道必须有一个简单的解决方案,但我花了几个小时在这上面,并认为是时候寻求一些帮助了。

下面是代码:

jQuery:

$(document).ready(function() {

        $('.myMenu li ul').hide(); //hide all sub menus

        $('.myMenu > li').mouseenter(function() {
            $(this).find('ul').stop(true, true).fadeIn("fast");
        });

        $('.myMenu > li').mouseout(function() {
            $(this).find('ul').stop(true, true).fadeOut("fast");
        });
    });

HTML:

<div id="navigation">
<ul class="myMenu">
    <li><a href="#">Main 1</a></li>
    <li><a href="#">Main 2</a>
        <ul>
            <li><a href="#">Sub 1</a></li>
            <li><a href="#">Sub 2</a></li>
            <li><a href="#">Sub 3</a></li>
            <li><a href="#">Sub 4</a></li>
            <li><a href="#">Sub 5</a></li>
            <li><a href="#">Sub 6</a></li>
            <li><a href="#">Sub 7</a></li>
            <li><a href="#">Sub 8</a></li>
            <li><a href="#">Sub 9</a></li>
        </ul>
    </li>
    <li><a href="#">Main 3</a>
        <ul>
            <li><a href="#">Sub 1</a></li>
            <li><a href="#">Sub 2</a></li>
            <li><a href="#">Sub 3</a></li>
        </ul>
    </li>  
    <li><a href="#">Main 4</a></li>
    <li><a href="#">Main 5</a></li>
    <li><a href="#">Main 6</a></li>
    <li><a href="#">Main 7</a></li>
    <li><a href="#">Main 8</a></li>
</ul>
</div>

如有任何帮助,我们将不胜感激!

最佳答案

这只是将上面的代码转换为 the .hover() method 的正确格式。它可以方便地将 mouseentermouseleave 组合到一个方法中。

$('.myMenu > li').hover(
    function() {
        $(this).find('ul').stop(true, true).fadeIn("fast");
}, 
    function() {
        $(this).find('ul').stop(true, true).fadeOut("fast");
});

按照你的描述,问题似乎已经解决了。当您位于相应的子菜单中时,“Main 2”和“Main 3”保持打开状态。

http://jsfiddle.net/Zr5ca/1

关于jQuery 导航菜单 - 子菜单在 MouseOut 时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969854/

相关文章:

javascript - JSONP 跨源错误 'No Access-Control-Allow-Origin header is present'

javascript - DOM导航问题,

javascript - 如何为复选框设置具有动态高度的内联图像替换?

html - 第三级居中菜单下拉导航问题

jquery - 点击然后鼠标移开,错误解除绑定(bind)

javascript - 我如何找到从 jquery 中的表单提交事件中单击的按钮?

swift - 隐藏带有表格 View 的导航栏

android - 以编程方式设置 NavGraph

css - 延迟覆盖在鼠标移出时消失

javascript - 将鼠标悬停在子分区上时更改主分区的背景