JS實戰篇之收縮菜單表單布局_javascript技巧

來源:互聯網
上載者:User

擷取節點的兩種方式:

    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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.