jQuery实现可收缩展开的级联菜单实例代码


Posted in Javascript onNovember 27, 2013

如果用纯JavaScript代码而不使用框架的话,那么做一个级联菜单也许是一件让人生畏的事情,但有了框架,这件事情就很容易了,这就是框架的好处,极大地提高了开发效率,并且更可靠和易于维护。使用jQuery来实现级联菜单的一般步骤如下:

•1.首先使用<ul>和<li>创建一个级联菜单 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>itcast.cn的JQuery应用示例:弹出菜单</title>
  <link type="text/css" rel="stylesheet" href="css/menu.css" mce_href="css/menu.css" />
  <mce:script type="text/javascript" src="jslib/jquery.js" mce_src="jslib/jquery.js"></mce:script>
  <mce:script type="text/javascript" src="jslib/jquerymenu.js" mce_src="jslib/jquerymenu.js"></mce:script>
</head>
<body>
    <ul>
        <a href="#" mce_href="#">我是菜单1</a>
        <li><a href="#" mce_href="#">我是子菜单1</a></li>
        <li><a href="#" mce_href="#">我是子菜单2</a></li>
    </ul>
    <ul>
        <a href="#" mce_href="#">我是菜单2</a>
        <li><a href="#" mce_href="#">我是子菜单3</a></li>
        <li><a href="#" mce_href="#">我是子菜单4</a></li>
    </ul>
</body>
</html>

•2.编写JavaScript代码,控制级联菜单的收缩
//需要点击主菜单的按钮时,对应的子菜单可以显示,再次点击子菜单则隐藏
//需要编写代码,在页面装载时,给所有的主菜单添加onclick的事件
//保证主菜单点击时可以显示或隐藏子菜单
//注册页面装载时执行的方法
$(document).ready(function() {
    //这里需要首先找到所有的主菜单
    //然后给所有的主菜单注册点击事件
    //找到ul中的节点
    var as = $("ul > a");
    as.click(function() {
        //这里需要找到当前ul中的li,然后让li显示出来
        //获取当前被点击的a节点
        var aNode = $(this);
        //找到当前a节点的所有li兄弟字节点
        var lis = aNode.nextAll("li");
        //让子节点显示或隐藏
        lis.toggle("show");
    });
});

•创建css文件,来控制标签的显示效果
/*如何让所有的li都不显示小圆点,可以使用css的标签选择器*/
li {
    list-style: none; /*使li前面的小圆点消失*/
    margin-left: 18px; /*让子菜单向右移动一段距离,达到缩进的效果*/
    display: none; /*让所有的子菜单都先隐藏*/
}
a{
  text-decoration: none; /*让链接的下划线消失*/
}

jQuery带来的方便:

1.在找被点击的菜单时,仅需要一个$(this)就可以实现

2.节点的显示与隐藏,只用一条语句:toggle()就可以,并且还可以在数组上实现所有节点都具有这种功能。

3.找到某个标签下所有的某种标签:$("ul > a")

Javascript 相关文章推荐
如何用javascript去掉字符串里的所有空格
Feb 08 Javascript
jMessageBox 基于jQuery的窗口插件
Dec 09 Javascript
jQuery 连续列表实现代码
Dec 21 Javascript
简单的代码实现jquery定时器
Nov 17 Javascript
禁止IE用右键的JS代码
Dec 30 Javascript
详解JavaScript对W3C DOM模版的支持情况
Jun 16 Javascript
BootStrap实现手机端轮播图左右滑动事件
Oct 13 Javascript
简单理解vue中Props属性
Oct 27 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
Dec 20 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
小程序实现单选多选功能
Nov 04 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
Nov 27 #Javascript
Javascript实现滚动图片新闻的实例代码
Nov 27 #Javascript
讨论html与javascript在浏览器中的加载顺序问题
Nov 27 #Javascript
js替代copy(示例代码)
Nov 27 #Javascript
jQuery封装的获取Url中的Get参数示例
Nov 26 #Javascript
javascript的parseFloat()方法精度问题探讨
Nov 26 #Javascript
解决Extjs4中form表单提交后无法进入success函数问题
Nov 26 #Javascript
You might like
php 随机排序广告的实现代码
2011/05/09 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
用jquery仿做发微博功能示例
2014/04/18 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
jQury Ajax使用Token验证身份实例代码
2017/09/22 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
Python字符串和文件操作常用函数分析
2015/04/08 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
python实现抽奖小程序
2020/04/15 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
Python常用base64 md5 aes des crc32加密解密方法汇总
2020/11/06 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
汇科协同Java笔试题
2012/03/31 面试题
花卉与景观设计系大学生求职信
2013/10/01 职场文书
毕业生文员求职信
2013/11/03 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
英语教学随笔感言
2014/02/20 职场文书
小学生开学感言
2014/02/28 职场文书
大学开学计划书
2014/04/30 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
化工实习心得体会
2014/09/09 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
护士自荐信怎么写
2015/03/06 职场文书
美丽的大脚观后感
2015/06/03 职场文书
七夕情人节问候语
2015/11/11 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA
R9700摩机记
2022/04/05 无线电