【问题标题】:auto hide and display of list items自动隐藏和显示列表项
【发布时间】:2020-12-29 07:03:27
【问题描述】:

我很难让它正常工作。我希望将鼠标悬停在“租赁”上以显示“属性”的子菜单,然后让我通过鼠标向下通过子菜单项单击我想要的。问题是当我尝试将鼠标悬停到“属性”链接时子菜单消失了。

这是菜单的图片:

显然我搞砸了,但我无法弄清楚...任何帮助将不胜感激。

这是 HTML:

<ul class="menu" id="menu-menu">    
    <li id="ML_2" class="menu-item">
        <a class="button" href="#">
            <div class="title">Rentals</div>
            <div class="arrow">
                <i class="fa fa-chevron-up"></i>
            </div>
            <div class="icon">
                <div class="L_RENTALS"></div>
            </div>
        </a>
                                            
        <ul class="dropdown-menu" top: 130px; display: none;">
            <li class="menu-item" id="L_PROPERTIES" ><a href="#">Properties</a></li>
            <li class="menu-item" id="L_AVAILABILITY_CALENDAR"><a href="#">Availability Calendar</a></li>
        </ul>
    </li> 
<ul>    

CSS:

#menu-menu li ul {
    display: none;
}
#menu-menu li ul li a {
    display: block;
    background: none;
    padding: 10px 0px;
    padding-left: 15px;
    font-size: 11px;
    color: #424242;
    text-align: left;
    text-decoration: none;
    font-weight: bold;
}

#menu-menu li ul li a:hover {
    background: #dfdcdc;
}


a.button  div.icon div {background-position-x: 0px;
    border:0;
    background-position-y: 0px;
    background-size: 30px;
    background-position: 0;

    float: right;
    padding-right: 10px;
    width: 30px;
    height: 30px;

}

.menu-item div.title{width:100px;float:left;text-align:left;}
.menu-item div.arrow{width:20px;float:left;}
.menu-item div.icon{padding-left: 20px;}

Javascript/jquery:

$("#menu-menu li").on("mouseenter", function (e) {
    
    //hide other submenus that may be open
    $(".dropdown-menu").hide();
    
    var elePos = $(this).position();
    $(this).find("ul").css({"top":elePos.top+79});
    $(this).find("ul").show();
});

【问题讨论】:

    标签: jquery drop-down-menu html-lists


    【解决方案1】:

    这是你想要达到的目标吗?

    $("#menu-menu > .menu-item").on("mouseenter", function(e) {
    
      //hide other submenus that may be open
      $(".dropdown-menu").hide();
    
      var elePos = $(this).position();
      $(this).find("ul").css({
        "top": elePos.top + 79
      });
      $(this).find(".dropdown-menu").show();
    });
    
    $("#menu-menu > .menu-item").on("mouseleave", function(e) {
      $(this).find(".dropdown-menu").hide();
    });
    #menu-menu li ul {
      display: none;
    }
    
    #menu-menu li ul li a {
      display: block;
      background: none;
      padding: 10px 0px;
      padding-left: 15px;
      font-size: 11px;
      color: #424242;
      text-align: left;
      text-decoration: none;
      font-weight: bold;
    }
    
    #menu-menu li ul li a:hover {
      background: #dfdcdc;
    }
    
    a.button div.icon div {
      background-position-x: 0px;
      border: 0;
      background-position-y: 0px;
      background-size: 30px;
      background-position: 0;
      float: right;
      padding-right: 10px;
      width: 30px;
      height: 30px;
    }
    
    .menu-item div.title {
      width: 100px;
      float: left;
      text-align: left;
    }
    
    .menu-item div.arrow {
      width: 20px;
      float: left;
    }
    
    .menu-item div.icon {
      padding-left: 20px;
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <ul class="menu" id="menu-menu">
      <li id="ML_2" class="menu-item">
        <a class="button" href="#">
          <div class="title">Rentals</div>
          <div class="arrow">
            <i class="fa fa-chevron-up"></i>
          </div>
          <div class="icon">
            <div class="L_RENTALS"></div>
          </div>
        </a>
    
        <ul class="dropdown-menu" style="top: 130px; display: none; ">
          <li class="menu-item " id="L_PROPERTIES "><a href="# ">Properties</a></li>
          <li class="menu-item " id="L_AVAILABILITY_CALENDAR "><a href="# ">Availability Calendar</a></li>
        </ul>
      </li>
    </ul>

    【讨论】:

    • 我看到选择器发生了变化...谢谢您的帮助!这工作得很好!!!
    • 抱歉没有添加解释...我不确定您是否正在寻找这个确切的东西。干杯!
    猜你喜欢
    • 2016-04-02
    • 1970-01-01
    • 2019-01-29
    • 2015-12-24
    • 2021-04-22
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多