三级下拉菜单的js实现代码

时间:2016.04.18 发布人:33333按时

三级下拉菜单的js实现代码

已解决问题

谷歌33333按时用户在2016.04.18提交了关于“科比三级下拉菜单的js实现代码”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-02-25T15:17:15。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,你是我的宝贝,你是我的花,谢谢你对我的帮助!

希望以下的回答,能够帮助你。

第1个回答

用户名:weiyangfeixue  

三级下拉菜单的实现:
复制代码代码如下:
functionlist(idstr){
varname1="subtree"+idstr;
varname2="img"+idstr;
varobjectobj=document.all(name1);
问答varimgobj=docu品成卫周待酒远南额她ment.all(name2);
//alert(i检待区量选端频图mgobj);
if(obje资国供故丝按工和继真ctobj.sty元缺满养降是再上le.display查了尔预防弦群检牛毫底=="none"){
确吸蒸for(i=1;便技历烈场著教束甲谈毫i<22;i++){
varname3="img"+i;
varname="subtree"+i;
varo=document.all(name);
if(o!=undefined){
o.st什居论持计球艺剧yle.display="none";
varimage=document.all(name3);
营应//alert(述愿坚照车image);
image.src="<%=basePath%>admin/images/ico04.gif";
if(ids进米容乡光九粮轻景苗tr>12&&idstr<20){
document.getElementById("sub铁体益也回tree11").style.display=行乙见跑顶伤白绝击言二"";
documen迫语灯雨品行转怀变预t.getElementById("img11").src="<%=base了钱片没Path%>admin书/images/ico03.gif";
}
}
}
objectobj.style.display="";
imgobj.src="<%=basePath%>admin/images/ico03.gif";
}
else{
objectobj.style.display="none";
imgobj.src="<%=basePath%>admin/images/ico04.gif";
}
}

代码讲解:如
上,idstr是一个数字字符,用于区别不同的子菜单和图片。通过document.all(name1)拿到所有的id为name1(一变量)的子菜单,这里
其实只有一个,判断如果当前是隐藏状态,则进入循环,又如果元素有定义(为了方便,通过i取到的有些子菜单可能是未定义的)就把所有子菜单隐藏掉(除了1级菜单,包括2、3级菜单)、换掉当前同级菜单图标,最后把当前选中菜单显示出来、换掉当前选中的图标。有种特殊情况:当idstr>12&&idstr<20时候,这时正是第二级菜单激活第三级菜单展开的时候,如下图:选中论文管理,因为成果管理是论文管理的父菜单,成果管理不能隐藏,于是有if(idstr>12&&idstr<20)后面的代码块。最后的else就很好理解了,如果当前被选中菜单展开就隐藏掉,并换掉图标。
复制代码代码如下:
functiontupian(idt){
varnametu="xiaotu"+idt;
vartp=document.getElementById(nametu);
tp.src="<%=basePath%>admin/images/ico05.gif";//图片ico05为白色的正方形
for(vari=1;i<32;i++)
{
varnametu2="xiaotu"+i;
if(i!=idt*1)
{
vartp2=document.getElementById('xiaotu'+i);
if(tp2!=undefined)
{tp2.src="<%=basePath%>admin/images/ico06.gif";}//图片ico06为蓝色的正方形
}
}
}

代码说明:只是换掉图标而已,表示激活或失活。