A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 疯狂沙漠 中级黑马   /  2014-4-17 00:10  /  1634 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4.   <title> New Document </title>
  5.    <script type="text/javascript">
  6.    
  7.         function change()
  8.         {
  9.            var dlNode = event.srcElement;
  10.            var parentNode = dlNode.parentNode;

  11.            var otherNode = document.getElementsByTagName("dl");
  12.                 for(var i=0;i< otherNode.length;i++)
  13.                 {
  14.                     if(otherNode[i]== parentNode)
  15.                         {
  16.                          if(parentNode.className =="open")
  17.                            {             
  18.                                   parentNode.className = "close";
  19.                            }else
  20.                            {
  21.                                    parentNode.className = "open";
  22.                            }
  23.                         }else
  24.                                  otherNode[i].className = "close";
  25.                 }
  26.           
  27.         }
  28.   
  29.    </script>

  30. <style type="text/css">
  31. dl{
  32.     overflow:hidden;
  33.         height:16px;
  34. }

  35. dt{
  36.     cursor:hand;
  37. }

  38. .open{
  39.     overflow:visible;
  40. }

  41. .close{
  42.     overflow:hidden;       
  43. }


  44. </style>
  45. </head>
  46. <body>
  47.   <dl>
  48.     <dt onclick ="change()">船舶管理</dt>
  49.                 <dd>主演:王额外</dd>
  50.                 <dd>主演:江苏大丰</dd>
  51.                 <dd>导演:斯蒂芬</dd>
  52. </dl>
  53. <dl>
  54.          <dt onclick ="change()">同行要素</dt>
  55.                 <dd>主演:王额外</dd>
  56.                 <dd>主演:江苏大丰</dd>
  57.                 <dd>导演:斯蒂芬</dd>
  58.   </dl>
  59.   <dl>
  60.          <dt onclick ="change()">权限设置</dt>
  61.                 <dd>主演:王额外</dd>
  62.                 <dd>主演:江苏大丰</dd>
  63.                 <dd>导演:斯蒂芬</dd>
  64.   </dl>
  65. </body>
  66. </html>
复制代码
代码中运行后有2个问题:
1、每点击一个项,展开的时候并没有向下拉伸,而是覆盖的,如图:

2、鼠标放在项上,并没有变为手势

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

5 个回复

倒序浏览
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <head>
  5.   <title> New Document </title>
  6.    <script type="text/javascript">
  7.    
  8.         function change()
  9.         {
  10.            var dlNode = event.srcElement;
  11.            var parentNode = dlNode.parentNode;

  12.            var otherNode = document.getElementsByTagName("dl");
  13.                 for(var i=0;i< otherNode.length;i++)
  14.                 {
  15.                     if(otherNode[i]== parentNode)
  16.                         {
  17.                          if(parentNode.className =="open")
  18.                            {              
  19.                                   parentNode.className = "close";
  20.                            }else
  21.                            {
  22.                                    parentNode.className = "open";
  23.                            }
  24.                         }else
  25.                                  otherNode[i].className = "close";
  26.                 }
  27.          
  28.         }
  29.   
  30.    </script>

  31. <style type="text/css">
  32. dl{
  33.                 /*设置手势 */
  34.                 cursor:pointer;
  35.         height:80px;
  36. }

  37. dt{
  38.         /*每次显示导航条*/
  39.         overflow:hidden;
  40.         height:20px;

  41. }

  42. .open{
  43.                 /*高度展开*/
  44.                 height:80px;
  45. }

  46. .close{  
  47.                 /*恢复就好了*/
  48.                 height:20px;  
  49.           overflow:hidden;
  50. }


  51. </style>
  52. </head>
  53. <body>
  54.   <dl>
  55.     <dt onclick ="change()">船舶管理</dt>
  56.                 <dd>主演:王额外</dd>
  57.                 <dd>主演:江苏大丰</dd>
  58.                 <dd>导演:斯蒂芬</dd>
  59. </dl>
  60. <dl>
  61.          <dt onclick ="change()">同行要素</dt>
  62.                 <dd>主演:王额外</dd>
  63.                 <dd>主演:江苏大丰</dd>
  64.                 <dd>导演:斯蒂芬</dd>
  65.   </dl>
  66.   <dl>
  67.          <dt onclick ="change()">权限设置</dt>
  68.                 <dd>主演:王额外</dd>
  69.                 <dd>主演:江苏大丰</dd>
  70.                 <dd>导演:斯蒂芬</dd>
  71.   </dl>
  72. </body>
  73. </html>
复制代码



有点很抱歉,由于时间关系.  一开始全是展开的我就没有修改了  我得捉紧学习了   你代码修改判断一下就好了

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
ノtrack 发表于 2014-4-17 08:09
有点很抱歉,由于时间关系.  一开始全是展开的我就没有修改了  我得捉紧学习了   你代码修改判断一下就好 ...

对于第一个问题,如果每项的内容增加,还是会覆盖,所以没有解决。
其实这段代码在毕向东javascript视频中第16集节点操作02有,但不知为何运行效果和视频中的不一样。不过还是要谢谢你
回复 使用道具 举报
疯狂沙漠 发表于 2014-4-17 12:25
对于第一个问题,如果每项的内容增加,还是会覆盖,所以没有解决。
其实这段代码在毕向东javascript视频 ...

调下高度就好了
回复 使用道具 举报

这个太被动了,若是子项是动态的,设置长度也没用。我现在不解的是:毕老师的视频中并没有设置展开高度,照样可以满足需求
回复 使用道具 举报
疯狂沙漠 发表于 2014-4-17 15:18
这个太被动了,若是子项是动态的,设置长度也没用。我现在不解的是:毕老师的视频中并没有设置展开高度, ...

那个貌似是display吧 我也忘了  你好好看视频吧 我只有效果  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马