如何使用带有jQuery的mouseenter()获得类似的效果

时间:2016-09-27 20:56:44

标签: javascript jquery

我创建了下拉菜单,当我点击主项目时,它会打开一个下拉菜单

以下是小提琴示例:http://jsfiddle.net/tjf22z6p/177/

我需要使用mouseenter()mouseleave()或任何其他有效方法来实现此效果。感谢

2 个答案:

答案 0 :(得分:0)

您需要考虑mouseenter,mouseleave。但是可以将其余代码保持不变:

$('.language').on('mouseenter mouseleave', function(){
    $('.languageDropdown').slideToggle(400);
});

或者您也可以在不使用jQuery / javascript和使用CSS的情况下实现相同的功能,只需对标记进行一些更改:http://jsfiddle.net/k4n6rnmr/

CSS:

.languageDropdown{
  display:none;
}
.language:hover .languageDropdown{
  display: block;
}
ul{
  list-style:none;
}

标记式:

 <div class="language">
      <a href="#">
         ENG 
      </a>
      <i class="fa fa-caret-down" aria-hidden="true"></i>
    <ul class="languageDropdown">
      <li>
        <a href="#">
          ENGLISH
        </a>
      </li>
      <li>
        <a href="#">
          SPANISH
        </a>
      </li>
      <li>
        <a href="#">
          ARABIC
        </a>
      </li>
      <li>
        <a href="#">
          TELUGU
        </a>
      </li>
    </ul>

答案 1 :(得分:0)

当您使用光标输入列表时,需要一个包裹元素保持悬停状态。然后在其上放置一个悬停和一个离开事件监听器。

检查此示例:

&#13;
&#13;
// Language DropDown on the top of the menu

$('.languageDropdown').hide();


$(".language").mouseover(function(){
	$(".languageDropdown").slideDown(400);
}).mouseleave(function(){
  $(".languageDropdown").slideUp(400);
});
&#13;
.languageDropdown{
  display:none;
}
ul{
  list-style:none;
  margin:0;
  padding:0;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="language">
          <a href="#">
             ENG 
          </a>
          <i class="fa fa-caret-down" aria-hidden="true"></i>
        <ul class="languageDropdown">
          <li>
            <a href="#">
              ENGLISH
            </a>
          </li>
          <li>
            <a href="#">
              SPANISH
            </a>
          </li>
          <li>
            <a href="#">
              ARABIC
            </a>
          </li>
          <li>
            <a href="#">
              TELUGU
            </a>
          </li>
        </ul>
        </div>
&#13;
&#13;
&#13;