请教Div+CSS+JS树型菜单问题,我是新手,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教Div+CSS+JS树型菜单问题,我是新手,相关的知识,希望对你有一定的参考价值。
<div id="PARENT2">
<ul id="nav2">
<li><a href="#Menu=ChildMenu1" onclick="DoMenu('ChildMenu1')">11</a>
<ul id="ChildMenu1" class="collapsed">
<a href="qns/qns01.htm" >1(AI) </a>
<a href="qns/qns02.htm" >2 </a>
<a href="qns/qns03.htm" >3</a>
</ul></li>
<li><a href="#Menu=ChildMenu2" onclick="DoMenu('ChildMenu2')">12</a>
<ul id="ChildMenu2" class="collapsed">
<a href="gls/gls01.htm">1</a>
<a href="gls/gls02.htm">2</a>
<a href="gls/gls03.htm">3</a>
</ul></li>
<li><a href="#Menu=ChildMenu3" onclick="DoMenu('ChildMenu3')">13</a>
<ul id="ChildMenu3" class="collapsed">
<a href="glq/glq01.htm">1</a>
<a href="glq/glq01.htm">2</a>
<a href="glq/glq01.htm">3</a>
</ul></li>
</div>
<div style="width:300;padding-left:30px;">
</br></br>
</div>
<script type=text/javascript><!--
var LastLeftID = "";
function menuFix()
var obj = document.getElementById("nav2").getElementsByTagName("li");
for (var i=0; i<obj.length; i++)
obj[i].onmouseover=function()
this.className+=(this.className.length>0? " ": "") + "sfhover";
obj[i].onMouseDown=function()
this.className+=(this.className.length>0? " ": "") + "sfhover";
obj[i].onMouseUp=function()
this.className+=(this.className.length>0? " ": "") + "sfhover";
obj[i].onmouseout=function()
this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), "");
function DoMenu(emid)
var obj = document.getElementById(emid);
obj.className = (obj.className.toLowerCase() == "expanded"?"collapsed":"expanded");
if((LastLeftID!="") && (emid!=LastLeftID)) //关闭上一个Menu
document.getElementById(LastLeftID).className = "collapsed";
LastLeftID = emid;
function GetMenuID()
var MenuID="";
var _paramStr = new String(window.location.href);
var _sharpPos = _paramStr.indexOf("#");
if (_sharpPos >= 0 && _sharpPos < _paramStr.length - 1)
_paramStr = _paramStr.substring(_sharpPos + 1, _paramStr.length);
else
_paramStr = "";
if (_paramStr.length > 0)
var _paramArr = _paramStr.split("&");
if (_paramArr.length>0)
var _paramKeyVal = _paramArr[0].split("=");
if (_paramKeyVal.length>0)
MenuID = _paramKeyVal[1];
/*
if (_paramArr.length>0)
var _arr = new Array(_paramArr.length);
//取所有#后面的,菜单只需用到Menu
//for (var i = 0; i < _paramArr.length; i++)
var _paramKeyVal = _paramArr[i].split('=');
if (_paramKeyVal.length>0)
_arr[_paramKeyVal[0]] = _paramKeyVal[1];
*/
if(MenuID!="")
DoMenu(MenuID)
GetMenuID(); //*这两个function的顺序要注意一下,不然在Firefox里GetMenuID()不起效果
menuFix();
--></script>
这个JS我看不懂,我的问题是放在左侧导航,点击11会显示1,2,3的,但选择里面的1或者2或者3之后,本来显示的1,2,3,就隐藏了,我不知道要怎么改,是不是要改JS呢,请高手赐教,谢谢!
如果是这个效果,你有两个错误:
1:你最大的那个无序列表<ul> 少了 闭合标签,即</ul>,你自己检查一下.
2:在css里加.collapseddisplay:none;
如果不是,就不清楚了.............................. 参考技术B 你这个效果只不过是一个竖向带三级菜单的导航效果,我空间里有代码
参考资料:http://hi.baidu.com/xxvsgtf21/blog/item/70fed0043cd29b1a4bfb51c2.html
本回答被提问者采纳 参考技术C 从网上下个改改吧,网上很多的,,,总改总改自己就会了不用刻意学 参考技术D 楼主可以M我,我有案例以上是关于请教Div+CSS+JS树型菜单问题,我是新手,的主要内容,如果未能解决你的问题,请参考以下文章