求一段javascript的代码,关于菜单的显示还是隐藏的

来源:百度知道 编辑:UC知道 时间:2024/06/04 04:56:01
<!--
function menuchange()
{
var src;
var subid;
src=window.event.srcElement;
if(src.className=="menu")
{
subid="sub"+src.id;
if(document.all(subid).style.display=="none")
{
document.all(subid).style.display="block";
}
else
{
document.all(subid).style.display="none";
}
}
}
//-->这段代码是控制菜单显示还是隐藏的.触发的事件为onclick.
现在我想要如下效果:当我单击某个菜单的时候,如果有其它的菜单的子菜单是显示的,那么让它自动display为"none".我该怎么实现,请大家帮忙.我要完整的代码.谢谢

//增加一个隐藏域nowselect,值为当前所选菜单的ID
//然后,当触发onclick事件的时候,
//把nowselect所对应的菜单隐藏;
//把nowselect重置为你点的菜单.
//不太清楚你的页面的结构,不过这种思路应该没问题
//以下是根据我猜测你的代码的意思写的
function menuchange() {
var src;
var subid;

//###########
var pre_src = document.getElementById("nowselect");//当前所选菜单的隐藏域
//###########

src = window.event.srcElement;
if (src.className == "menu") {
subid = "sub" + src.id;
if (document.all(subid).style.display == "none") {
document.all(subid).style.display = "block";
//###########
if(pre_src.value != ""){//现在有其他显示的子菜单
pre_subid = "sub"+pre_src.value;//其他显示的子菜单id
document.all(pre_subid).style.display="none"; //隐藏
pre_src.value = src.id;//重置nowselect
}
//##########
} else {
document.all(subid).style.display