本文实例为大家分享了js实现QQ列表展开收缩扩展展示的具体代码,供大家参考,具体内容如下
效果图:
代码:
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==''){ for(i=0;i aH2.length;i++){ aH2[i].className=''; aUl[i].style.display='none'; this.className='active'; aUl[this.index].style.display = 'block'; }else{ this.className=''; aUl[this.index].style.display='none'; 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=''; this.className = 'hover'; /script /head