码迷,mamicode.com
首页 > 其他好文 > 详细

左侧伸缩式导航源码解析

时间:2015-04-08 11:05:53      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:导航   源码   伸缩   jquery   

我们这次分析的源码来自于站长素材
地址如下:
http://sc.chinaz.com/jiaoben/150228195730.htm
效果图

技术分享技术分享




建议大家去上面的地址里,自己看一下动态的效果。

二级导航

现在我们分析一下代码
<html>
<head>
<meta charset="utf-8">
<title>jquery网站后台管理系统导航 - 站长素材</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
		$(".div2").click(function(){ 
			$(this).next("div").slideToggle("slow")  
			.siblings(".div3:visible").slideUp("slow");
		});
	});
</script>
<style>
body{ margin:0;font-family:微软雅黑;}
.left{ width:200px; height:100%; border-right:1px solid #CCCCCC ;#FFFFFF; color:#000000; font-size:14px; text-align:center;}
.div1{text-align:center; width:200px; padding-top:10px;}
.div2{height:40px; line-height:40px;cursor: pointer; font-size:13px; position:relative;border-bottom:#ccc 1px dotted;}
.jbsz {position: absolute; height: 20px; width: 20px; left: 40px; top: 10px; background:url(images/1.png);}
.xwzx {position: absolute; height: 20px; width: 20px; left: 40px; top: 10px; background:url(images/2.png);}
.zxcp {position: absolute; height: 20px; width: 20px; left: 40px; top: 10px; background:url(images/4.png);}
.lmtj {position: absolute; height: 20px; width: 20px; left: 40px; top: 10px; background:url(images/8.png);}
.div3{display: none;cursor:pointer; font-size:13px;}
.div3 ul{margin:0;padding:0;}
.div3 li{ height:30px; line-height:30px; list-style:none; border-bottom:#ccc 1px dotted; text-align:center;}
</style>
</head>
<body>
<div class="left">
<div class="div1">
<div class="left_top"><img src="images/bbb_01.jpg"><img src="images/bbb_02.jpg" id="2"><img src="images/bbb_03.jpg"><img src="images/bbb_04.jpg"> </div>
  <div class="div2"><div class="jbsz"> </div>基本管理</div>
      <div class="div3">
<ul>
		<li> 网站配置</li>
		<li> 管理设置</li>
        <li> 导航菜单</li>
</ul>
  </div>
    <div class="div2"><div class="xwzx"> </div>新闻中心</div>
      <div class="div3">
      <ul>
		<li> 管理文章</li>
		<li> 文章分类</li>
        <li> 添加文章</li>
        </ul>
  </div>
    <div class="div2"><div class="zxcp"> </div>最新产品</div>
      <div class="div3">
      <ul>
		<li>图片管理</li>
		<li> 图片分类</li>
         <li> 添加图片</li>
         </ul>
  </div>
  <div class="div2"><div class="lmtj"> </div> 栏目添加</div>
      <div class="div3">
      <ul>
		<li> 文章系统</li>
		<li> 图片系统</li>
        <li> 添加表单</li>
         <li> 招聘系统</li>
         </ul>
  </div>
</div>
</div>


<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
<p>适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. </p>
<p>来源:<a href="http://sc.chinaz.com/" target="_blank">站长素材</a></p>
</div>
</body>
</html>

主要看js

<script type="text/javascript">
	$(document).ready(
			function() {
				$(".div2").click(
						function() {
							$(this).next("div").slideToggle("slow").siblings(
									".div3:visible").slideUp("slow");
						});
				$(".level3").click(
						function() {
							$(this).next("div").slideToggle("slow").siblings(
									".div4:visible").slideUp("slow");
						});
			});
</script>


我们称div2 那一级(例如基本管理)为一级标题,每个一级标题下都有二级标题(也就是div3)。
因为div的放置顺序是一个div2一个div3然后再一个div2。
$(this).next("div").slideToggle("slow")  
就是每次点击一个div2后,下面的div3就从显示到隐藏,从隐藏到显示。


.siblings(".div3:visible")
运行完a段代码后,此时的对象是div3
b段的前半部分就是选择所有可见的div3
.siblings(".div3:visible").slideUp("slow");
然后隐藏他们
b段代码的功能就是当基本管理的二级菜单打开时,点击新闻中心,基本管理的二级菜单也会关闭。


看懂了上面的代码后,我们尝试将原始的二级菜单改写成三级菜单。

三级导航

效果图如下:
技术分享



JavaScript如下所示
<script type="text/javascript">
<span style="white-space:pre">	</span>$(document).ready(
<span style="white-space:pre">			</span>function() {
<span style="white-space:pre">				</span>$(".div2").click(
<span style="white-space:pre">						</span>function() {
<span style="white-space:pre">							</span>$(this).next("div").slideToggle("slow").siblings(
<span style="white-space:pre">									</span>".div3:visible").slideUp("slow");
<span style="white-space:pre">						</span>});
<span style="white-space:pre">				</span>$(".level3").click(
<span style="white-space:pre">						</span>function() {
<span style="white-space:pre">							</span>$(this).next("div").slideToggle("slow").siblings(
<span style="white-space:pre">									</span>".div4:visible").slideUp("slow");
<span style="white-space:pre">						</span>});
<span style="white-space:pre">			</span>});
</script>
部分css
.div3,.div4 {
	display: none;
	cursor: pointer;
	font-size: 13px;
}


.div3 li {
	height: 30px;
	line-height: 30px;
	list-style: none;
	border-bottom: #ccc 1px dotted;
}


.div4 li {
	height: 30px;
	line-height: 30px;
	list-style: none;
	border-bottom: #ccc 1px dotted;
	padding-left: 28px;
}
部分html代码
<div class="div2">
				<div class="jbsz"></div>
				基本管理
			</div>


			<div class="div3">
				<ul>
					<li class="level3">网站配置</li>
					<div class="div4">
						<ul>
							<li>网站配置1</li>
							<li>网站配置2</li>
							<li>网站配置3</li>
						</ul>
					</div>
					<li class="level3">管理设置</li>
					<div class="div4">
						<ul>
							<li>网站配置1</li>
							<li>网站配置2</li>
							<li>网站配置3</li>
						</ul>
					</div>
					<li class="level3">导航菜单</li>
					<div class="div4">
						<ul>
							<li>网站配置1</li>
							<li>网站配置2</li>
							<li>网站配置3</li>
						</ul>
					</div>
				</ul>
			</div>

左侧伸缩式导航源码解析

标签:导航   源码   伸缩   jquery   

原文地址:http://blog.csdn.net/dlf123321/article/details/44936047

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!