热门关键字:
jquery > jquery教程 > jquery教程 > jQuery三级导航菜单详解

jQuery三级导航菜单详解

273
作者:管理员
发布时间:2020/3/2 16:16:29
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=953

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>蚂蚁部落</title>
<style type="text/css">
* {
  margin:0px;
  padding:0px;
}
a {
  text-decoration:none;
  color:#000;
}
a:hover, a:linked {
  color:#000;
}
#nav {
  margin-left:20px;
  list-style:none;
}
#nav li,#nav li ul, #nav li ul li {
  list-style:none;
}
#nav li a {
  width:200px;
  height:30px;
  line-height:30px;
  background:#ccc;
  display:block;
  text-indent:10px;
}
#nav li ul li a {
  background:#eaeaea;
}
#nav li ul li ul li a {
  background:#fffff2;
}
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$(function (){
  $("#nav ul").hide();
  $("#nav li a:first-child").click(function(){
    $(this).siblings().toggle();
  });
});
</script>
</head>
<body>
    <ul id="nav">
      <li><a href="#">首页管理</a>
        <ul>
          <li><a href="#">+首页标题一</a>
            <ul>
              <li><a href="#">_首页标题1_1</a> </li>
              <li><a href="#">_首页标题1_2</a> </li>
            </ul>
          </li>
          <li><a href="#">首页标题一</a></li>
          <li><a href="#">首页标题二</a></li>
        </ul>
      </li>
      <li><a href="#">产品管理</a>
        <ul>
          <li><a href="#">产品标题一</a></li>
          <li><a href="#">产品标题二</a></li>
          <li><a href="#">产品标题三</a></li>
        </ul>
      </li>
    </ul>
</body>
</html>
一.实现原理:

在静态结构方面主要使用ul和li的嵌套完成的:

一级导航结构:

[HTML] 纯文本查看 复制代码
1
2
3
<ul>
  <li><a href="#">蚂蚁部落</a></li>
</ul>
二级导航结构:

[HTML] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
<ul>
  <li>
    <a href="#">产品管理</a>
    <ul>
      <li><a href="#">产品标题1</a></li>
      <li><a href="#">产品标题2</a></li>
      <li><a href="#">产品标题3</a></li>
    </ul>
  </li>
</ul>
这个是二级导航的结构,三级导航就是再继续嵌套。

本代码比较简单,jQuery代码原理这里就不介绍,具体参阅代码注释。

二.代码注释:

(1).$(function (){}),当稳当结构完全加载完毕之后再去执行函数中的代码。

(2).$("#nav ul").hide(),可以将id属性值为nav下的ul全部设置为隐藏状态,这就是为什么在默认状态下是合并的。

(3).$("#nav li a:first-child").click(function(){}),可以为每一个li元素下的第一个a元素注册click事件处理函数。

(4).$(this).siblings().toggle(),实现当前点击元素的兄弟元素的显示与隐藏的切换。

三.相关阅读:

(1).hide()参阅jQuery hide()方法一章节。

(2).first-child参阅jQuery :first-child选择器一章节。

(3).siblings()参阅jQuery siblings()方法一章节。

(4).toggle()参阅jQuery toggle()方法一章节。





如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jQuery
友荐云推荐