jQuery实现仿淘宝下拉菜单

jQuery实现仿淘宝下拉菜单

     首先分析下拉菜单,在淘宝中的商品导航中,将鼠标移入导航栏中显示下拉菜单,当鼠标移除导航栏是隐藏下拉菜单列表;所以很容易联想到使用到jQuery中的事件函数mouseover和mouseout。mouseout事件在鼠标从元素上离开后会触发。mouseover事件会在鼠标移入对象时触发。

首先写出HTML代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>仿下拉菜单</title>
</head>
<body>
<div class="wrap">
<ul>
<li style="float:left;">
<a href="">一级菜单1</a>
<ul class="ul" style="display: block;">
<li><a href="">二级菜单22</a></li>
<li><a href="">二级菜单22</a></li>
<li><a href="">二级菜单22</a></li>
</ul>
</li>
<li style="float:left;">
<a href="">一级菜单1</a>
<ul class="ul" style="display: block;">
<li><a href="">二级菜单22</a></li>
<li><a href="">二级菜单22</a></li>
<li><a href="">二级菜单22</a></li>
</ul>
</li>
<li style="float:left;">
<a href="">一级菜单1</a>
<ul class="ul" style="display: block;">
<li><a href="">二级菜单22</a></li>
<li><a href="">二级菜单22</a></li>
<li><a href="">二级菜单22</a></li>
</ul>
</li>
</ul>
</div>
</body>
</html>

写出css样式:

<style>
* {
      margin: 0;
      padding: 0;
    }
    
    ul {
      list-style: none;
    }
    
    .wrap {
      width: 330px;
      height: 30px;
      margin: 100px auto 0;
      padding-left: 10px;
     background-color: chartreuse;
    }
    
    .wrap li {
    background-color: cyan;
    }
    
    .wrap > ul > li {
      float: left;
      margin-right: 10px;
      position: relative;
    }
    
    .wrap a {
      display: block;
      height: 30px;
      width: 100px;
      text-decoration: none;
      color: #000;
      line-height: 30px;
      text-align: center;
    }
    
    .wrap li ul {
      position: absolute;
      top: 30px;
      display: none;
    }
</style>

引入jQuery:

<script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>

分析写出jQuery:

<script>
$(function(){
$(".wrap>ul>li").mouseover(function(){

//获取li标签元素,并给li标签注册事件
$(this).children("ul").show();

//this获取到li标签元素,相当于$(".wrap>ul>li"),children("ul")相当于this的孩子集
});
                 $(".wrap>ul>li").mouseout(function(){
$(this).children("ul").hide();
});
});
</script>

效果图:

jQuery实现仿淘宝下拉菜单

jQuery实现仿淘宝下拉菜单

jQuery实现仿淘宝下拉菜单