JS实战篇之收缩菜单表单布局


Posted in Javascript onDecember 10, 2016

获取节点的两种方式:

    1、通过event对象的srcElement属性;

    2、通过事件源对象用this传入。

代码如下:

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  <title>收缩菜单 · 表单布局</title>
  <script type="text/javascript">
    function list(dtNode){
      // var dtNode = event.srcElement;
      var dlNode = dtNode.parentNode;
      // alert(dtNode.nodeName+"---"+dlNode.nodeName);
      var dlNodes = document.getElementsByTagName("dl");
      // alert(dlNodes.length);
      for(var i=0; i<dlNodes.length; i++){
        if(dlNodes[i] == dlNode){
          /*判断当前标题是展开还是关闭状态,默认关闭,先执行else语句*/
          if(dlNode.className == "open"){
            dlNode.className = "close";
          }
          else{
            dlNode.className = "open";
          }
        }
        else{
          dlNodes[i].className = "close";
        }
      }
    }
  </script>
  <style type="text/css">
    dl{
      overflow: hidden;
      height: 18px;
    }
    .open{
      overflow: visible;
    }
    .close{
      overflow: hidden;
    }
  </style>
</head>
  <!-- 获取节点的两种方式:
  1、通过event对象的srcElement属性;
  2、通过事件源对象用this传入
 -->
<body>
  <!-- 事件源是dt,但是操作的是dl -->
  <dl>
    <dt onclick="list(this)">今天天气好晴朗</dt>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
  </dl>
  <dl>
    <dt onclick="list(this)">今天天气好晴朗</dt>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
  </dl>
  <dl>
    <dt onclick="list(this)">今天天气好晴朗</dt>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
  </dl>
  <dl>
    <dt onclick="list(this)">今天天气好晴朗</dt>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
  </dl>
  <dl>
    <dt onclick="list(this)">今天天气好晴朗</dt>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
  </dl>
  <dl>
    <dt onclick="list(this)">今天天气好晴朗</dt>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
  </dl>
  <dl>
    <dt onclick="list(this)">今天天气好晴朗</dt>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
    <dd>今天天气好晴朗</dd>
  </dl>
</body>
</html>
Javascript 相关文章推荐
javascript 类定义的4种方法
Sep 12 Javascript
关于全局变量和局部变量的那些事
Jan 11 Javascript
谷歌浏览器不支持showModalDialog模态对话框的解决方法
Sep 22 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
Dec 30 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 Javascript
走进AngularJs之过滤器(filter)详解
Feb 17 Javascript
详解webpack引入第三方库的方式以及注意事项
Jan 15 Javascript
100行代码实现vue表单校验功能(小白自编)
Nov 19 Javascript
vue和小程序项目中使用iconfont的方法
May 19 Javascript
详解vue-router的导航钩子(导航守卫)
Nov 02 Javascript
解读Vue组件注册方式
May 15 Vue.js
浅谈Web Storage API的使用
Jun 23 Javascript
javascript动画之磁性吸附效果篇
Dec 09 #Javascript
Canvas 制作动态进度加载水球详解及实例代码
Dec 09 #Javascript
详解自动生成博客目录案例
Dec 09 #Javascript
微信小程序之仿微信漂流瓶实例
Dec 09 #Javascript
JS判断是否手机或pad访问实现方法
Dec 09 #Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
Dec 09 #Javascript
利用JS实现页面删除并重新排序功能
Dec 09 #Javascript
You might like
如何在PHP中使用Oracle数据库(5)
2006/10/09 PHP
分享PHP header函数使用教程
2013/09/05 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
php命令行写shell实例详解
2018/07/19 PHP
php ajax数据传输和响应方法
2018/08/21 PHP
javascript语言结构小记(一)
2011/09/10 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
玩转方法:call和apply
2014/05/08 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
纯javascript实现简单下拉刷新功能
2015/03/13 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
iscroll.js的上拉下拉刷新时无法回弹的解决方法
2016/02/18 Javascript
AngularJS实现DOM元素的显示与隐藏功能
2016/11/22 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
一篇不错的Python入门教程
2007/02/08 Python
Python中的多重装饰器
2015/04/11 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python实现的基数排序算法原理与用法实例分析
2017/11/23 Python
python re模块的高级用法详解
2018/06/06 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
nohup的用法
2014/08/10 面试题
有模特经验的简历自我评价
2013/09/19 职场文书
喝酒检查书范文
2014/02/23 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
开票员岗位职责
2015/02/12 职场文书
项目安全员岗位职责
2015/02/15 职场文书
终止劳动合同通知书
2015/04/16 职场文书
公司酒会致辞
2015/07/30 职场文书
干部理论学习心得体会
2016/01/21 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js