首頁 >web前端 >js教程 >怎麼用JS做出列表展開收縮擴充功能

怎麼用JS做出列表展開收縮擴充功能

php中世界最好的语言
php中世界最好的语言原創
2017-12-30 17:44:192383瀏覽

這次帶給大家的是怎麼用JS做出清單展開收縮擴充功能,清單展開收縮功能是一個非常實用的功能,這篇文章就給大家好好分析一下。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
ul,h2{margin:0; padding:0;}
li{list-style-type:none;}
#list{margin:0 auto; border:#333 solid 1px; width:250px;}
#list h2 {background: url(../img/ico1.gif) no-repeat 5px 14px #0C6; text-indent:20px; height:32px; line-height:32px;}
#list ul li{text-indent:25px; border-bottom:#333 solid 1px; line-height:24px; height:23px; }
#list .active{background: url(../img/ico2.gif) no-repeat 5px 14px #693; text-indent:20px; height:30px; line-height:30px;}
#list ul{display:none;}
.hover{background:#CFC;}
</style>
<script>
window.onload = function(){
var oUl = document.getElementById("list");
var aUl =oUl.getElementsByTagName("ul");
var aH2 = oUl.getElementsByTagName("h2");
var aLi = null;
var arrLi = [];
var that = null;
for(i=0;i<aH2.length;i++){
 aH2[i].index = i;
 aH2[i].onclick = function(){
 if(this.className==&#39;&#39;){
 for(i=0;i<aH2.length;i++){
aH2[i].className=&#39;&#39;;
aUl[i].style.display=&#39;none&#39;;
 }
this.className=&#39;active&#39;;
aUl[this.index].style.display = &#39;block&#39;;
}else{
this.className=&#39;&#39;;
aUl[this.index].style.display=&#39;none&#39;;
 }
             }
 }
for(i=0;i<aUl.length;i++){
  aLi =aUl[i].getElementsByTagName("li");
 for(j=0;j<aLi.length;j++){
  arrLi.push(aLi[j]);
 }
}
for(var i=0;i<arrLi.length;i++){
 arrLi[i].onclick = function(){
  for(i=0; i<arrLi.length;i++){ 
arrLi[i].className=&#39;&#39;;
 }
this.className = &#39;hover&#39;;
}
}
};
</script>
</head>
<body>
<ul id="list">
<li class="lis">
  <h2>我的好友</h2>
  <ul>
  <li>张三</li>
   <li>张四</li>
   <li>张五</li>
   <li>张六</li>
  </ul>
 </li>
 <li class="lis">
 <h2>企业好友</h2>
  <ul>
  <li>李四</li>
   <li>李小四</li>
   <li>李四二</li>
   <li>李毅</li>
   <li>李二</li>
  </ul>
 </li>
 <li class="lis">
 <h2>黑名单</h2>
  <ul>
  <li>张三</li>
  <li>李四</li>
  </ul>
 </li>
</ul>
</body>
</html>

   

相信看了以上介紹你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

相關閱讀:

關於HTTP/2伺服器推送

#用jQuery做出對陣列去重及排序的動作

JS怎麼可以做到點選跳到登陸的個人信箱

以上是怎麼用JS做出列表展開收縮擴充功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn