对,是跳转以后的页面,而不是跳转前的页面。这样说吧, 在Index页面点击"菜单1"(menu1.html)后,页面将跳转至menu1.html对吧?我希望跳转以后, 在menu1.html页面下,"菜单1"是被选中的;同理,在任何页面点击“子菜单1-1”,页面将跳至smenu1.html,跳转以后,在smenu1.html页面下,菜单1是被选中的,且子菜单项全部显示,子菜单1-1也被选中状态。其实这个效果的目的是让人清晰的知道当前是选中了哪个菜单。而现在不管选哪个菜单项,页面刷新后,导航菜单没有相应的显示。不知道说清楚了没有?

解决方案 »

  1.   


    那就麻烦你告诉我怎么做, 因为我不懂js...如果没点击,就不用产生任何效果啊。比如在Index页面,"首页"菜单项应该是被选中的,鼠标移开导航栏,那么就只有“首页”是被选中的。有哪位会的,能不能把代码贴出来,如果确实可行,立马揭帖给分,并万分感激,都求这个解决方法很久了,还未解决……
      

  2.   

    可以修改你的tabs.js,把下面的代码对照着加进里面,如果你这个js里面止呕tabid函数,则可以直接复制替换里面的内容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));
    //=============这里修改过了,兼容ff。样式在ff下问题多多,你自己下个ff看就知道了
    var tabNumber = btn.parentNode.getElementsByTagName('li').length;
    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";
    }
    //==================下面是新添加的代码====================================
    function FindParentId(obj){
      var reg=/^tabnav_(btn|div)_(\d+)$/i
      while(obj=obj.parentNode){
        if(obj.id&&reg.test(obj.id))return reg.exec(obj.id);
      }
      return null;
    }
    document.onclick=function(e){
      e=e||event;
      var obj=e.srcElement||e.target;
      var match=FindParentId(obj);
      if(match&&!/#menuid=\d+$/gi.test(obj.href))obj.href+="#menuid="+match[2];
    }
    function SetHomeClass(){
      var lstr=window.location.href;
      var m=/#menuid=(\d+)$/gi.exec(lstr);
      if(m){
        if(document.getElementById("tabnav_btn_"+m[2]))tabit(document.getElementById("tabnav_btn_"+m[2]));
      }
    }
    if(window.attachEvent)window.attachEvent("onload",SetHomeClass);
    else if(window.addEventListener)window.addEventListener("load",SetHomeClass,false);
      

  3.   

    谢谢, 先试试. 这个不需要在html页面加什么onclick触发事件吧?不明白为什么测试页面有些错位,我的站点却没有问题,不信,你用FF看 http://www.leedsren.com 看看有没有错位?
      

  4.   

    上面菜单部分用一个框架frameset来装载一个menu.html就可以了。在下面工作区里调用不同的内容页面。
    可能还有点地方要改,但这样就方便得多了,状态容易保留。
      

  5.   


    不需要加onclick的因为他用了document.onclick
      

  6.   

    试过, 这个方法是不行的, 可能用框架就行吧, 但如果用框架的话,直接用a:active应该也行。算了,估计是每人会了