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 相关文章推荐
jQuery 1.0.2
Oct 11 Javascript
javascript 获取网页参数系统
Jul 19 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
Apr 02 Javascript
js中查找最近的共有祖先元素的实现代码
Dec 30 Javascript
ExtJs动态生成treepanel的Json格式
Jul 19 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
Dec 14 Javascript
使用jQuery调用XML实现无刷新即时聊天
Aug 07 Javascript
AngularJS实现页面定时刷新
Mar 14 Javascript
jQuery表单设置值的方法
Jun 30 jQuery
解决webpack dev-server不能匹配post请求的问题
Aug 24 Javascript
vue2配置scss的方法步骤
Jun 06 Javascript
vue总线机制(bus)知识点详解
May 10 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/12/10 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
为百度UE编辑器上传图片添加水印功能
2015/04/16 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
2018/05/29 PHP
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
jQuery判断多个input file 都不能为空的例子
2015/06/23 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
Python中的Numpy入门教程
2014/04/26 Python
Python下的subprocess模块的入门指引
2015/04/16 Python
Python模块包中__init__.py文件功能分析
2016/06/14 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
提升Python程序性能的7个习惯
2019/04/14 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
python修改字典键(key)的方法
2019/08/05 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
坚定理想信念心得体会
2014/03/11 职场文书
毕业生求职信范文
2014/06/29 职场文书
英语系本科生求职信
2014/07/15 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
法务专员岗位职责
2015/02/14 职场文书
社区干部培训心得体会
2016/01/06 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python