如果是这个效果,你有两个错误:
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=""为了兼容多个浏览器你还需要建立稍微详细点的代码,思想给你了,可以自由发挥。