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 相关文章推荐
动态调用CSS文件的JS代码
Jul 29 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
Jun 06 Javascript
JavaScript使用cookie记录临时访客信息的方法
Apr 07 Javascript
javascript点击按钮实现隐藏显示切换效果
Feb 03 Javascript
原生JS实现跑马灯效果
Feb 20 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 Javascript
利用JS测试目标网站的打开响应速度
Dec 01 Javascript
Vue中的无限加载vue-infinite-loading的方法
Apr 08 Javascript
浅谈vue.use()方法从源码到使用
May 12 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
Sep 19 Javascript
jquery 时间戳转日期过程详解
Oct 12 jQuery
uni-app 微信小程序授权登录的实现步骤
Feb 18 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 zip文件解压类代码
2009/12/02 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
php版微信数据统计接口用法示例
2016/10/12 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
2019/05/29 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
javascript 进阶篇1 正则表达式,cookie管理,userData
2012/03/14 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
2016/06/01 Javascript
微信小程序 location API接口详解及实例代码
2016/10/12 Javascript
Bootstrap CSS使用方法
2016/12/23 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
AngularJS遍历获取数组元素的方法示例
2017/11/11 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
对python特殊函数 __call__()的使用详解
2019/07/02 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
详解python tkinter 图片插入问题
2020/09/03 Python
详解matplotlib绘图样式(style)初探
2021/02/03 Python
越南综合购物网站:Lazada越南
2019/06/10 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
函授本科毕业生自我鉴定
2013/10/16 职场文书
土木工程师职业规划范文
2014/03/07 职场文书
代领报检证委托书范本
2014/10/11 职场文书
钢铁是怎样炼成的读书笔记
2015/06/29 职场文书
小学运动会前导词
2015/07/20 职场文书
js判断两个数组相等的5种方法
2022/05/06 Javascript
nginx设置资源请求目录的方式详解
2022/05/30 Servers