新しいページをロードする代わりにdivを表示/非表示にするJavascriptタブがあります。タブには、ホバー効果を与えるスタイルがあります。現在表示されているdivに一致するアクティブなスタイルを追加したいと思います。
ページをロードするバージョンからそのままでは機能しないJAVASCRIPT:
function setActive() {
aObj = document.getElementById('nav').getElementsByTagName('a');
for(i=0;i < aObj.length;i++) {
if(document.location.href.indexOf(aObj[i].href) >= 0) {
aObj[i].className='active';
}
}
}
function showdiv(id){
document.getElementById(id).style.display = "block";
}
function hidediv(id){
document.getElementById(id).style.display = "none";
}
スタイル:
#pageAdmin { display:block; }
#userAdmin { display:none; }
HTML:
<ul id="nav">
<li><a onclick="showdiv('pageAdmin'); hidediv('userAdmin')"
href="#">Page Admin</a></li>
<li><a onclick="showdiv('userAdmin'); hidediv('pageAdmin')"
href="#">User Admin</a></li>
</ul>
<div id="pageAdmin">
<h1>Page admin</h1>
</div>
<div id="userAdmin">
<h1>User admin</h1>
</div>
これはSOに関する私の最初の質問なので、適切であることを願っています。そうでない場合は、事前に謝罪を受け入れてください。