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