把你的其它JS引用去掉后,没有发现什么问题.问题可能出在其它引用上(如JS, CSS)等.<!--header menu -->
<div id="nav">
<ul>
<li id="tabnav_btn_0" onmouseover="tabit(this)"><a href="/v5/" class="go0">首页</a></li>
<li id="tabnav_btn_1" onmouseover="tabit(this)"><a href="/v5/leeds/" class="go1">利兹留学</a></li>
<li id="tabnav_btn_2" onmouseover="tabit(this)"><a href="/v5/bradford/" class="go2">布拉德福留学</a></li>
<li id="tabnav_btn_3" onmouseover="tabit(this)"><a href="/v5/rank/" class="go3">大学排名</a></li>
<li id="tabnav_btn_4" onmouseover="tabit(this)"><a href="/v5/visa/" class="go4">签证指南</a></li>
<li id="tabnav_btn_5" onmouseover="tabit(this)"><a href="/v5/general/" class="go11">留学生活</a></li>
<li id="tabnav_btn_6" onmouseover="tabit(this)"><a href="/v5/policy/" class="go12">留学政策</a></li>
<li id="tabnav_btn_7" onmouseover="tabit(this)"><a href="http://bbs.leedsren.com" class="go13">校友社区</a></li>
</ul>
</div>
<div id="snav">
<ul>
<div id="tabnav_div_0" style="display:none;margin-top:6px;"></div>
<div id="tabnav_div_1" style="display:none;"><li><a class="sgo6" href="/v5/leeds/lu/">利兹大学</a></li><li><a class="sgo7" href="/v5/leeds/lmu/">利兹城市大学</a></li><li><a class="sgo8" href="/v5/leeds/city/">利兹城市导航</a></li></div>
<div id="tabnav_div_2" style="display:none;"><li><a class="sgo9" href="/v5/bradford/bradu/">布拉德福德大学</a></li><li><a class="sgo10" href="/v5/bradford/city/">布拉德福德城市导航</a></li></div>
<div id="tabnav_div_3" style="display:none;margin-top:6px;"></div>
<div id="tabnav_div_4" style="display:none;margin-top:6px;"></div>
<div id="tabnav_div_5" style="display:none;"></div>
<div id="tabnav_div_6" style="display:none;"></div>
<div id="tabnav_div_7" style="display:none;"></div>
</ul>
</div>
<script type="text/javascript">
function tabit(btn) {
    var idname = new String(btn.id);
    var s = idname.indexOf("_");
    var e = idname.lastIndexOf("_")+1;
    var tabName = idname.substr(0, s);
    var id = parseInt(idname.substr(e, 1));
    var oTab = btn.parentNode.childNodes;
    var k = 0, tabNumber = 0;
    while (k < oTab.length) {
        if (oTab.item(k).nodeName == 'LI')
            tabNumber = tabNumber + 1;
        k++;
    }
    for(i=0;i<tabNumber;i++){
            document.getElementById(tabName+"_div_"+i).style.display = "none";
            document.getElementById(tabName+"_btn_"+i).className = "";
    };
    document.getElementById(tabName+"_div_"+id).style.display = "block";
    btn.className = "home";
}
</script>

解决方案 »

  1.   

    onmouseover的问题
    把它写在超链接里吧
      

  2.   

    果然是编码的问题,页面是GB,js是UTF-8,改过来后不再提示错误. 但是把nav.js加到"tabnav_div_5""tabnav_div_6""tabnav_div_7"这三个子菜单层却没有任何效果, 为什么?另外, 在Firefox下, 子菜单层不起作用,不能显示. 麻烦大家再帮我看看.如果有需要我可提供原网址或更多源代码(请注明)
      

  3.   

    指出一点
     if (oTab.item(k).nodeName == 'LI')
                tabNumber = tabNumber + 1;
            k++;火狐和IE里索引(i)这样的访问方式是不一样的 改[]
      

  4.   

    这样试下
    var oTab = btn.parentNode.getElementsByTagName('li');
      

  5.   


    在FF下已经能正常显示子菜单.谢谢牛人.现在只有一个问题,在IE和FF下都是,把nav.js加到"tabnav_div_5""tabnav_div_6""tabnav_div_7"这三个子菜单层却没有任何效果, 为什么? 也就是说<div id="tabnav_div_5" style="display:none;margin-top:6px;"><script type="text/javascript" src="/v5/js/nav.js"></script></div>
    <div id="tabnav_div_6" style="display:none;margin-top:6px;"><script type="text/javascript" src="/v5/js/nav.js"></script></div>
    <div id="tabnav_div_7" style="display:none;margin-top:6px;"><script type="text/javascript" src="/v5/js/nav.js"></script></div>
    与最上面的效果没有区别, 怎么可能呢? nav.js会有文字出现