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 相关文章推荐
通过javascript的匿名函数来分析几段简单有趣的代码
Jun 29 Javascript
js 文本滚动效果的实例代码
Aug 17 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
Dec 05 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
AngularJS 输入验证详解及实例代码
Jul 28 Javascript
node.js中fs.stat与fs.fstat的区别详解
Jun 01 Javascript
vue项目总结之文件夹结构配置详解
Dec 13 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
Jun 14 Javascript
解决Vue调用springboot接口403跨域问题
Sep 02 Javascript
微信小程序实现锚点跳转
Nov 23 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
typecho插件编写教程(三):保存配置
2015/05/28 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
深入理解PHP之源码目录结构与功能说明
2016/06/01 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
使用phpQuery获取数组的实例
2017/03/13 PHP
Javascript 类型转换方法
2010/10/24 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
react项目实践之webpack-dev-serve
2018/09/14 Javascript
Vue.js更改调试地址端口号的实例
2018/09/19 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
JQuery复选框全选效果如何实现
2020/05/08 jQuery
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
使用python实现knn算法
2017/12/20 Python
python实现二维数组的对角线遍历
2019/03/02 Python
Django配置MySQL数据库的完整步骤
2019/09/07 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
python将字典内容写入json文件的实例代码
2020/08/12 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
利用python汇总统计多张Excel
2020/09/22 Python
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
工商治理实习生的自我评价分享
2014/02/20 职场文书
保安队长职务说明书
2014/02/23 职场文书
交通工程专业推荐信
2014/09/06 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python