さて、以前の開発者からサイトを継承して、いくつかのアップグレードを行いました。(クライアントではありませんが) 私を悩ませていることの 1 つは、実際には選択されていない場合でも、単一のタブが常に ".selected" タブになることです。技術的には、「選択されたデフォルト」だと思います。
サイトはrooferanchorage.comです。
.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"
}
}