请教Div+CSS+JS树型菜单问题,我是新手,

html-css09

请教Div+CSS+JS树型菜单问题,我是新手,,第1张

不太明白你描述的问题......点击里面的1或2或3,不是你设置了链接么?都跳转了,还有什么隐藏不隐藏?? 你是不是想说 点11显示11的子菜单,点12显示12的子菜单,其它(11和13)的隐藏?

如果是这个效果,你有两个错误:

1:你最大的那个无序列表<ul>少了 闭合标签,即</ul>,你自己检查一下.

2:在css里加.collapsed{display:none}

如果不是,就不清楚了..............................

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<html xmlns="">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />

<script type=text/javascript><!--//--><![CDATA[//><!--

function menuFix() {

var sfEls = document.getElementById("menu").getElementsByTagName("li")

for (var i=0i<sfEls.lengthi++) {

sfEls[i].onmouseover=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover"

}

sfEls[i].onMouseDown=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover"

}

sfEls[i].onMouseUp=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover"

}

sfEls[i].onmouseout=function() {

this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"),

"")

}

}

}

window.onload=menuFix

//--><!]]></script>

<style type="text/css">

body

a

a:hover

#menu

#menu ul

#menu ul li

#menu ul li a

#menu ul li a:hover

#menu ul li a#current

#menu ul li ul

#menu ul li ul li

#menu ul li ul li a

#menu ul li ul li a:hover

#menu ul li:hover ul

#menu ul li.sfhover ul

</style>

</head>

<body>

<div id="menu">

<ul>

<li><a id="current" href="#">首页</a>

<ul>

<li><a href="#">下拉1</a></li>

<li><a href="#">下拉1</a></li>

</ul>

</li>

<li><a href="#">网页版式</a>

<ul>

<li><a href="#">下拉2</a></li>

<li><a href="#">下拉2</a></li>

</ul>

</li>

<li><a href="#">web教程</a>

<ul>

<li><a href="#">下拉3</a></li>

<li><a href="#">下拉3</a></li>

<li><a href="#">下拉3</a></li>

</ul>

</li>

<li><a href="#">web实例</a>

<ul>

<li><a href="#">下拉4</a></li>

<li><a href="#">下拉4</a></li>

<li><a href="#">下拉4</a></li>

</ul>

</li>

<li><a href="#">常用代码</a></li>

</ul>

</div>

</body>

</html>

给你的UL设置一个ID 比如 subtree,在css里面设置 #subtree{display:none} 然后在menu里面添加 onmouseover 或者 onclick 事件 建立相应函数 包含主要内容subtree.style.display=""为了兼容多个浏览器你还需要建立稍微详细点的代码,思想给你了,可以自由发挥。