简体   繁体   English

JS下拉菜单不起作用

[英]JS dropdown menu doesn't work

I have some js code, that has to open my menu on hover. 我有一些js代码,必须在悬停时打开我的菜单。 But it doesn't react on mouseover/out. 但它对鼠标悬停/退出没有反应。 Where am i mistaken? 我哪里弄错了?

jQuery(document).ready(function() {
        jQuery('#user-menu').bind('mouseover', openSubMenu);
        jQuery('#user-menu').bind('mouseout', closeSubMenu);

        function openSubMenu() {
            jQuery(this).find('.dropdown-menu').css('display', 'block');    
        };

        function closeSubMenu() {
            jQuery(this).find('.dropdown-menu').css('display', 'none'); 
        };

    });

And some html code here 还有一些HTML代码

<div id="user-menu" class="pull-right btn-group"><a class="btn btn-success dropdown-toggle" data-toggle="dropdown" href="#">User menu
  <span class="caret"></span>
    </a>
    <ul class="dropdown-menu" id="user_dropdown_menu"><li class="menu-2 first"><a href="/courses/user">My account</a></li>
<li class="menu-15 last"><a href="/courses/user/logout">Log out</a></li>
</ul>
  </div>

I would suggest using jQuery's hover instead: 我建议使用jQuery的hover

$(document).ready(function() {
    $('#user-menu').hover(function () {
        $(this).find('.dropdown-menu').toggle();
    });
});

Notes: 笔记:

  • passing one function to hover will fire it for both mouseover and mouseout 将一个函数传递给悬停将为鼠标悬停和鼠标移除它
  • toggle will show or hide depending on the element's current state 切换将显示或隐藏,具体取决于元素的当前状态

try this: 尝试这个:

jQuery(document).ready(function() {
  function openSubMenu() {
         jQuery(this).find('.dropdown-menu').css('display', 'block');
  };
  function closeSubMenu() {
         jQuery(this).find('.dropdown-menu').css('display', 'none');
  };

  jQuery('#user-menu').bind('mouseover', openSubMenu);
  jQuery('#user-menu').bind('mouseout', closeSubMenu);
}); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM