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 相关文章推荐
一个对于Array的简单扩展
Oct 03 Javascript
一个基于jquery的文本框记数器
Sep 19 Javascript
Jquery自定义button按钮的几种方法
Jun 11 Javascript
js和jquery设置disabled属性为true使按钮失效
Aug 07 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
Aug 16 Javascript
node.js中的fs.rmdirSync方法使用说明
Dec 16 Javascript
JS+CSS实现六级网站导航主菜单效果
Sep 28 Javascript
JS匿名函数类生成方式实例分析
Nov 26 Javascript
前端跨域的几种解决方式总结(推荐)
Aug 16 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
基于JavaScript实现幸运抽奖页面
Jul 05 Javascript
使用vue实现一个电子签名组件的示例代码
Jan 06 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过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
PHP远程调试之XDEBUG
2015/12/29 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
Javascript基于对象三大特性(封装性、继承性、多态性)
2016/01/04 Javascript
浅谈js函数的多种定义方法与区别
2016/11/29 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
python requests 使用快速入门
2017/08/31 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
应届生煤化工求职信
2013/10/21 职场文书
策划助理岗位职责
2013/11/18 职场文书
毕业生自荐书模版
2014/01/04 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
文明城市创建标语
2014/06/16 职场文书
中学生运动会通讯稿大全
2014/09/18 职场文书
环卫工作汇报材料
2014/10/28 职场文书
论文答谢词
2015/01/20 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android