jquery - mouseout 后如何保持子菜单 div 悬停(可见)?

标签 jquery css menu hover

我在完成这件事时遇到了问题。我有一个子菜单容器 ( .subOptions ) 变成 visible (display:block)当鼠标悬停在 < li > 上时标签。

问题:现在当鼠标离开 Button 或 div( .subOptions ) 时,div 会隐藏。

我需要以某种方式在页面加载时使第一个 Button1 及其子菜单 div 可见,并且在鼠标离开 div 时保持可见状态(并且仅在将鼠标悬停在其他按钮上时更改)。

    <ul class="clearfix submenu">
        <li>
            <a>Button1</a>
            <div class="subOptions">
                Button 1 Content
            </div>
       </li>
       <li>
            <a>Button2</a>
            <div class="subOptions">
                Button 2 Content
            </div>
       </li>
       <li>
            <a>Button3</a>
            <div class="subOptions">
               Button 3 Content
            </div>
      </li>                                 
      <li>
            <a>Button4</a>
            <div class="subOptions">    
               Button 4 Content
            </div>
     </li>
 <ul>

任何可行的解决方案都将受到高度赞赏。我希望我解释得足够清楚。

示例如下: jsFiddle

最佳答案

您需要检查悬停状态,并且只有在选择不同的按钮时才更改它。

(function($) {

var activeSubmenuIndex;
$('.submenu li').on('mouseenter',
    function () {
        //return if it's the same button being hovered
        if ($(this).index() === activeSubmenuIndex) {
            return;
        }
        //remove classes from other buttons, put on new active one
        $('.submenu li').removeClass('submenuHover');
        $('.submenu li a').removeClass('aHover');
        //add class for li element
        $(this).addClass('submenuHover'); 
        $(this).find('a').addClass('aHover')
    });
 })(jQuery);

我还将您的两个悬停 CSS 类更改为由 JS 添加的常规类。这是一个工作 fiddle 。 http://jsfiddle.net/arbt0896/2/

关于jquery - mouseout 后如何保持子菜单 div 悬停(可见)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27233039/

相关文章:

JQuery - 从同一父元素的另一个子元素检索值

javascript - 如何在 PHP 页面中保存 HTML 变量

css - 更改字幕中第一个字母的大小

Python tkinter : Add button to menu bar

javascript - 在不同的 html 文件中将 html 从一个元素替换为另一个元素

javascript - 在 JavaScript 中将 blob 读取为数据 url

html - 如何使用 CSS 创建一个填充页面高度的中间栏?

html - 如何获得任意大小的 html 文档的高质量可移植渲染?

python - PySide:向菜单栏添加切换选项/操作

jquery - 悬停按钮上的菜单