哪不懂?
主要是根据不同的浏览器进行不同的操作
参考手册:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/dhtml_reference_entry.asp

解决方案 »

  1.   

    参考:
    http://www.csdn.net/Develop/list_article.asp?author=net_lover&myclassid=81&myclassName=XML
      

  2.   

    http://www.csdn.net/Develop/list_article.asp?author=net_lover&myclassid=80&myclassName=JavaScript
      

  3.   

    这个expandit程序挺熟悉啊。是展开子菜单把
      

  4.   

    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title>New Page 1</title>
    <SCRIPT language=JavaScript1.2>
    scores = new Array(20);\\定义一个数组
    var numTotal=0
    NS4 = (document.layers) ? 1 : 0; 
    IE4 = (document.all) ? 1 : 0;  
    ver4 = (NS4 || IE4) ? 1 : 0;  \\判断浏览器类型if (ver4) {  \\层叠是样式单此步用于根据不同的浏览器写入不同的CSS样式单
        with (document) {
            write("<STYLE TYPE='text/css'>"); 
            if (NS4) {    \\如果浏览器是netscape4
                write(".parent {position:absolute; visibility:visible}");
                write(".child {position:absolute; visibility:visible}");
                write(".regular {position:absolute; visibility:visible}")
            }
            else {      \\浏览器是IE4
                write(".child {display:none}")
            }
            write("</STYLE>");
        }
    }function getIndex(el) {  \\document.layers方法仅限于Netscape4:返回文档中所有层(<layer>标记)组成的数组    ind = null;
        for (i=0; i<document.layers.length; i++) { \\whichEl纪录层数
            whichEl = document.layers[i];
            if (whichEl.id == el) {
                ind = i;
                break;
            }
        }
        return ind;
    }function arrange() {    \\第二步被调用的方法
        nextY = document.layers[firstInd].pageY +document.layers[firstInd].document.height;
        for (i=firstInd+1; i<document.layers.length; i++) {
            whichEl = document.layers[i];
            if (whichEl.visibility != "hide") {
                whichEl.pageY = nextY;
                nextY += whichEl.document.height;
            }
        }
    }function initIt(){ \\第一步执行的函数
        if (!ver4) return; 
        if (NS4) {  \\如果浏览器为NS 
            for (i=0; i<document.layers.length; i++) {
                whichEl = document.layers[i]; \\用whichEl取得各层
                if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide"; \\如果当前层无子层则当前层为最低等级的层,并且隐藏
           }
            arrange();\\调用arrange()方法
        }
        else { \\如果浏览器为IE4
            divColl = document.all.tags("DIV");
            for (i=0; i<divColl.length; i++) {
                whichEl = divColl(i);
                if (whichEl.className == "child") whichEl.style.display = "none"; \\大体功能与NS4差不多 :寻找最底层,隐藏子节点
            }
        }
    }function expandIt(el) {  \\用于展开作用,主要是设置子节点隐藏
    if (!ver4) return;
        if (IE4) {   \\浏览器为ie4
            whichEl1 = eval(el + "Child"); \\设置两个变量whichEl1,whichEl进行比较
    for(i=1;i<=numTotal;i++){
    whichEl = eval(scores[i] + "Child");
    if(whichEl!=whichEl1) {
    whichEl.style.display = "none";
    }
    }
            whichEl1 = eval(el + "Child");
            if (whichEl1.style.display == "none") {
                whichEl1.style.display = "block";
            }
            else {
                whichEl1.style.display = "none";
            }
        }
        else {
            whichEl = eval("document." + el + "Child");
    for(i=1;i<=numTotal;i++){
    whichEl = eval("document." + scores[i] + "Child");
    if(whichEl!=whichEl1) {
    whichEl.visibility = "hide";
    }
    }
            if (whichEl.visibility == "hide") {
                whichEl.visibility = "show";
            }
            else {
                whichEl.visibility = "hide";
            }
            arrange();
        }
    }
    onload = initIt;\\页面加载时调用initIt方法
    </SCRIPT></head><body></body></html>
      

  5.   

    谢谢zhaoweiwei(轩辕大侠),我就要这样的注释,这么多也就够了
    给分!