Javascript 单个菜单项始终保留为";。精选;类,即使未选中

Javascript 单个菜单项始终保留为";。精选;类,即使未选中,javascript,Javascript,好的,我从以前的开发者那里继承了一个站点,对其进行了一些升级。有一件事让我恼火(虽然不是客户机),那就是一个选项卡总是“.selected”选项卡,即使它实际上没有被选中。从技术上讲,我认为这是“选择默认” 网站是 我尝试从.js的最后一节中删除默认值,但没有效果。正如你可能知道的,我完全不懂javascript。我相信这是相关的代码-有什么建议可以让我选择的类正确工作 isSelected:function(menuurl){ var menuurl=menuurl.replace("

好的,我从以前的开发者那里继承了一个站点,对其进行了一些升级。有一件事让我恼火(虽然不是客户机),那就是一个选项卡总是“.selected”选项卡,即使它实际上没有被选中。从技术上讲,我认为这是“选择默认”

网站是

我尝试从.js的最后一节中删除默认值,但没有效果。正如你可能知道的,我完全不懂javascript。我相信这是相关的代码-有什么建议可以让我选择的类正确工作

isSelected:function(menuurl){
    var menuurl=menuurl.replace("http://"+menuurl.hostname, "").replace(/^\//, "")
    return (tabdropdown.currentpageurl==menuurl)
},

    init:function(menuid, dselected){
        this.standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes
        var menuitems=document.getElementById(menuid).getElementsByTagName("a")
        for (var i=0; i<menuitems.length; i++){
            if (menuitems[i].getAttribute("rel")){
                var relvalue=menuitems[i].getAttribute("rel")
                document.getElementById(relvalue).firstlink=document.getElementById(relvalue).getElementsByTagName("a")[0]
                menuitems[i].onmouseover=function(e){
                    var event=typeof e!="undefined"? e : window.event
                    tabdropdown.dropit(this, event, this.getAttribute("rel"))
                }
            }
            if (dselected=="auto" && typeof setalready=="undefined" && this.isSelected(menuitems[i].href)){
                menuitems[i].parentNode.className+=" selected default"
                var setalready=true
            }
            else if (parseInt(dselected)==i)
                menuitems[i].parentNode.className+=" selected default"
        }
    }
isSelected:函数(菜单){
var menuurl=menuurl.replace(“http:/”+menuurl.hostname“”)。replace(/^\/,“”)
返回(tabdropdown.currentpageurl==menuurl)
},
初始化:函数(menuid,dselected){
this.standardbody=(document.compatMode==“CSS1Compat”)?document.documentElement:document.body//创建对跨doctype的公共“body”的引用
var menuitems=document.getElementById(menuid.getElementsByTagName(“a”)

对于源代码第72-73行的(var i=0;i),如下所示:

//SYNTAX: tabdropdown.init("menu_id", [integer OR "auto"])
tabdropdown.init("colortab", 3)
参考问题中的代码,您可以看到
init
方法中的条件,该方法读取
if(dselected==“auto”…
,并将根据URL检查菜单项内锚定的
href
,查看是否应该选择该选项卡

目前您的代码正在通过
3
,这意味着它将始终是第四个选项卡-一个基于零的索引
0,1,2,3
,这将解释为什么总是选择“商业”


回答,尝试将
3
更改为
“自动”
,或者,如果您使用的是静态html文件(例如,如果residential.html是实际的html文件)尝试更改整数以表示应为每个选项卡选择的选项卡。例如,将是
2

在源代码的第72-73行中,如下所示:

//SYNTAX: tabdropdown.init("menu_id", [integer OR "auto"])
tabdropdown.init("colortab", 3)
参考问题中的代码,您可以看到
init
方法中的条件,该方法读取
if(dselected==“auto”…
,并将根据URL检查菜单项内锚定的
href
,查看是否应该选择该选项卡

目前您的代码正在通过
3
,这意味着它将始终是第四个选项卡-一个基于零的索引
0,1,2,3
,这将解释为什么总是选择“商业”


回答,尝试将
3
更改为
“自动”
,或者,如果您使用的是静态html文件(例如,如果residential.html是实际的html文件)尝试更改整数以表示应为每个选项卡选择的选项卡。例如,住宅将是
2

这似乎是正确的。但是-将在哪里设置3?该文件中没有显示3。我再次为学习曲线道歉。不幸的是,该网站使用的是静态html文件。它不在JavaScript fi中le,它在你的HTML中的
块中。在上,查看源代码,你会看到它在该页面的第75-76行。它可能也在其他页面的大致附近。这似乎是对的。但是-这3应该设置在哪里?该文件中没有出现3。我再次为学习曲线道歉。该网站使用的是静态HTML文件,u很幸运。它不在JavaScript文件中,它在HTML中的
块中。在上,查看源代码,您将看到它位于该页面的第75-76行。它可能也位于其他页面的大致附近。