javascript下拉菜单问题

标签 javascript jquery menu

我正在尝试使用 javascript/jquery 制作一个下拉菜单,但无法理解某些内容。

当您将鼠标悬停在菜单项上时,它需要在其下方显示一个包含另一个菜单的 div,其方式与许多 javascript 菜单类似。

我遇到的问题是,当您将鼠标移出菜单项时,div 需要消失,除非您已将鼠标移到 div 上,在这种情况下,div 需要保留在那里,直到您滚下它。

问题是菜单项的 mouseout 事件在 div 的 mouseover 事件之前触发。

我想我想说的是,只有当您将鼠标移出覆盖菜单和 div 的区域时,div 才会消失。

这对任何人都有意义吗? (代码如下)

<ul id="menu">
    <li class="item1"><a href="#"></a></li>
    <li class="item2">
        <a href="#"></a>
        <div class="dropDownMenu">
            <div><a href="#">Sub-item 1</a></div>
            <div><a href="#">Sub-item 2</a></div>
            <div><a href="#">Sub-item 3</a></div>
        </div>
    </li>
    <li class="item3"><a href="#"></a></li>
</ul>


$('#menu LI > A').mouseover(function(){

    $(this).find('dropDownMenu').show();

});
$('#menu LI > A').mouseout(function(){

    $(this).find('dropDownMenu').hide();

    ^^^ Only do this if the user hasn't moved on to the drop down menu.

});

最佳答案

您可以使用mouseenter而不是鼠标悬停。

关于javascript下拉菜单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1375400/

相关文章:

javascript - 为 JavaScript 对象动态创建实例字段

javascript - 每 30 秒执行一次函数 jquery mobile?

linux - Bash - 基于解析的 CSV 的可变 case 语句选项?

jQuery 在相邻元素淡出时进行内联 div 转换

javascript - 轮播外的 Bootstrap 标题

jquery - 将窗口高度设置为 div 时,为什么要额外添加 10000?

php - laravel 5.1 中的多级菜单 - 循环

javascript - React setState 函数的小问题

javascript - 将表格从 HTML 导出为 PDF

javascript - 使用ajax加载的html内容不会检测其他js函数