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 相关文章推荐
简约JS日历控件 实例代码
Jul 12 Javascript
jQuery 判断图片是否加载完成方法汇总
Aug 10 Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 Javascript
JavaScript基础篇(6)之函数表达式闭包
Dec 11 Javascript
js仿支付宝多方框输入支付密码效果
Sep 27 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
Feb 14 Javascript
JS实现自动轮播图效果(自适应屏幕宽度+手机触屏滑动)
Jun 19 Javascript
Vue computed计算属性的使用方法
Jul 14 Javascript
微信小程序之批量上传并压缩图片的实例代码
Jul 05 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
Apr 08 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
Feb 06 Javascript
uni-app如何页面传参数的几种方法总结
Apr 28 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对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
js下拉菜单语言选项简单实现
2013/09/23 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
JS获取图片lowsrc属性的方法
2015/04/01 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
2016/03/09 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
JavaScript模块详解
2017/12/18 Javascript
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
Element-UI+Vue模式使用总结
2020/01/02 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
Python求两个文本文件以行为单位的交集、并集与差集的方法
2015/06/17 Python
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
就业表自我评价分享
2014/02/06 职场文书
创新比赛获奖感言
2014/02/13 职场文书
产品包装策划方案
2014/05/18 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
新生儿未入户证明
2015/06/23 职场文书
二十年同学聚会感言
2015/07/30 职场文书
工伤调解协议书
2016/03/21 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery