js部分具体的代码如下:
复制代码 代码如下:
var getsiblingnode=function(classname,elar,el,not){
classname= +classname+ ;
var arr=[];
for(var i=0,l=elar.length;iif(elar[i]!=el&&(elar[i].nodetype===1)&&( +elar[i].classname+ ).indexof(classname)>-1&& not){
arr.push(elar[i]);
}
else if(elar[i]!=el&&elar[i].nodetype===1){
arr.push(elar[i]);
}
}
return arr;
}
var runfn=function(id,parentid){
var elid=id,parentid=parentid;
var contentel=document.getelementbyid(elid);
var liel=contentel.getelementsbytagname(ul)[0].getelementsbytagname(li);
var divel=document.getelementbyid(parentid).getelementsbytagname(div);
for(var i=0,l=liel.length;i//这里有个闭包,用于获取被选中元素的同类元素;
(function(i){
var thissibling=getsiblingnode(n,divel,divel[i],true);
liel[i].onclick=function(){
divel[i].style.display=block;
//设置选中的dom元素的状态;
this.classname=hasclick;
var divelsibling=getsiblingnode(null,liel,liel[i],false);
//设置其他未被选中的dom元素的css;
for(var a=0,b=thissibling.length;athissibling[a].style.display=none;
}
for(var x=0,y=divelsibling.length;xdivelsibling[x].classname=havtclick;
}
}
})(i)
}
}
var slide=function(){
runfn(content,disdiv);
}
window.onload=slide;