• jquery之链式调用,层级菜单


     一. 链式调用的含义

    jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以连起来写:

    $('#div1') // id为div1的元素
    .children('ul') //该元素下面的ul子元素
    .slideDown('fast') //高度从零变到实际高度来显示ul元素
    .parent()  //跳到ul的父元素,也就是id为div1的元素
    .siblings()  //跳到div1元素平级的所有兄弟元素
    .children('ul') //这些兄弟元素中的ul子元素
    .slideUp('fast');  //高度实际高度变换到零来隐藏ul元素
    

      

    二. 层级菜单实例

    实现菜单项的打开与自动折叠,效果图如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>层级菜单</title>
    	
    	
    	<style type="text/css">
    		body{
    			font-family:'Microsoft Yahei';
    		}
    		body,ul{
    			margin:0px;
    			padding:0px;
    		}
    		
    		ul{list-style:none;}
    
    
    		.menu{
    			200px;
    			margin:20px auto 0;
    		}
    
    		.menu .level1,.menu li ul a{
    			display:block;
    			200px;
    			height:30px;
    			line-height:30px;
    			text-decoration:none;
    			background-color:#3366cc;
    			color:#fff;
    			font-size:16px;
    			text-indent:10px;			
    		}
    
    		.menu .level1{
    			border-bottom:1px solid #afc6f6;
    			
    		}
    
    		.menu li ul a{
    			font-size:14px;
    			text-indent:20px;
    			background-color:#7aa1ef;
    					
    		}
    
    		.menu li ul li{
    			border-bottom:1px solid #afc6f6;
    		}
    
    		
    
    		.menu li ul{
    			display:none;
    		}
    
    		.menu li ul.current{
    			display:block;
    		}
    
    		.menu li ul li a:hover{
    			background-color:#f6b544;
    		}
    
    
    	</style>
    	
    	<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
    	<script type="text/javascript">
    		$(function(){
    
    			/*效果1
    
    			$('.level1').click(function() {
    				
    				$(this).next().toggleClass('current');
    
    			});
    
    			*/
    
    			/*效果2
    
    			$('.level1').click(function() {
    				
    				$(this).next().slideToggle();
    
    			});
    
    			*/
            //效果3,点开某一个菜单项的同时,自动关闭其他菜单项
    			$('.level1').click(function() {
    				
    				$(this).next().slideDown().parent().siblings().children('ul').slideUp();
    
    			});
    
    
    
    
    		});
    
    	</script>
    
    
    </head>
    <body>
    	<ul class="menu">
    		<li>
    			<a href="#" class="level1">水果</a>
    			<ul class="current">
    				<li><a href="#">苹果</a></li>
    				<li><a href="#">梨子</a></li>
    				<li><a href="#">葡萄</a></li>
    				<li><a href="#">火龙果</a></li>
    			</ul>
    		</li>
    		<li>
    			<a href="#" class="level1">海鲜</a>
    			<ul>
    				<li><a href="#">蛏子</a></li>
    				<li><a href="#">扇贝</a></li>
    				<li><a href="#">龙虾</a></li>
    				<li><a href="#">象拔蚌</a></li>
    			</ul>
    		</li>
    		<li>
    			<a href="#" class="level1">肉类</a>
    			<ul>
    				<li><a href="#">内蒙古羊肉</a></li>
    				<li><a href="#">进口牛肉</a></li>
    				<li><a href="#">野猪肉</a></li>				
    			</ul>
    		</li>
    		<li>
    			<a href="#" class="level1">蔬菜</a>
    			<ul>
    				<li><a href="#">娃娃菜</a></li>
    				<li><a href="#">西红柿</a></li>
    				<li><a href="#">西芹</a></li>
    				<li><a href="#">胡萝卜</a></li>
    			</ul>
    		</li>
    		<li>
    			<a href="#" class="level1">速冻</a>
    			<ul>
    				<li><a href="#">冰淇淋</a></li>
    				<li><a href="#">湾仔码头</a></li>
    				<li><a href="#">海参</a></li>
    				<li><a href="#">牛肉丸</a></li>
    			</ul>
    		</li>
    		
    	</ul>
    </body>
    </html>
    

      

  • 相关阅读:
    windows常用命令
    Qt 添加 QtNetwork 库文件
    LoadLibrary加载动态库失败
    C++11 Function 使用场景
    编程书籍集
    代码重构例集
    多重循环编码规范
    vim 命令学习(基础篇)
    QT构建窗体(父窗体传为野指针)异常案例
    JAVA_SE基础——26.[深入解析]局部变量与成员变量的差别
  • 原文地址:https://www.cnblogs.com/regit/p/8980268.html
Copyright © 2020-2023  润新知