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 相关文章推荐
推荐20家国外的脚本下载网站
Apr 28 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
Oct 16 Javascript
javascript的parseFloat()方法精度问题探讨
Nov 26 Javascript
JavaScript对数组进行随机重排的方法
Jul 22 Javascript
浅谈jquery的map()和each()方法
Jun 12 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
Sep 28 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
Nov 13 Javascript
jquery中关于bind()方法的使用技巧分享
Mar 30 jQuery
Vue不能观察到数组length的变化
Jun 08 Javascript
Vuex 使用 v-model 配合 state的方法
Nov 13 Javascript
JS获取月的第几周和年的第几周实例代码
Dec 05 Javascript
ES6中异步对象Promise用法详解
Jul 31 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的FTP学习(四)
2006/10/09 PHP
自己写了一个php检测文件编码的函数
2014/04/21 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
PHP模块化安装教程
2016/06/01 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
JavaScript队列结构Queue实现过程解析
2020/03/07 Javascript
使用setup.py安装python包和卸载python包的方法
2013/11/27 Python
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
Bottle框架中的装饰器类和描述符应用详解
2017/10/28 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
详解python:time模块用法
2019/03/25 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
Django单元测试中Fixtures用法详解
2020/02/25 Python
英国打印机墨盒销售网站:Ink Factory
2019/10/07 全球购物
标记环介质访问控制协议
2016/03/27 面试题
应届生幼儿园求职信
2013/11/12 职场文书
创业计划书撰写原则
2014/01/25 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
2015年安全月活动总结
2015/03/26 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
严以律己学习心得体会
2016/01/13 职场文书
python基础之文件处理知识总结
2021/05/23 Python
一文彻底理解js原生语法prototype,__proto__和constructor
2021/10/24 Javascript
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers