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 相关文章推荐
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
Nov 06 Javascript
小结Node.js中非阻塞IO和事件循环
Sep 18 Javascript
JavaScript转换二进制编码为ASCII码的方法
Apr 16 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
Sep 09 Javascript
Sort()函数的多种用法
Mar 20 Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 Javascript
在html中引入外部js文件,并调用带参函数的方法
Oct 31 Javascript
微信小程序表单弹窗实例
Jul 19 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
Sep 06 Javascript
vue实现与安卓、IOS交互的方法
Nov 02 Javascript
Vue实现移动端页面切换效果【推荐】
Nov 13 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 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 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
js实现日历的简单算法
2017/01/24 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
JS继承定义与使用方法简单示例
2020/02/19 Javascript
python中的reduce内建函数使用方法指南
2014/08/31 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Tensorflow卷积神经网络实例
2018/05/24 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
Python爬虫学习之翻译小程序
2019/07/30 Python
python3 字符串知识点学习笔记
2020/02/08 Python
HTML5中微数据概述及在搜索引擎中的使用举例
2013/02/07 HTML / CSS
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
会计专业推荐信
2013/10/29 职场文书
企业为何需要商业计划书
2013/12/26 职场文书
前处理组长岗位职责
2014/03/01 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
药品业务员岗位职责
2014/04/17 职场文书
新文化运动的口号
2014/06/21 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
大一学生个人总结
2015/02/15 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
Python OpenCV快速入门教程
2021/04/17 Python