タブスタイルのナビゲーションメニューがあります。私の目標:
- ユーザーがタブXをマウスオーバーしたら、「tabActive」クラスをタブXに追加します。タブにすでに「tabActive」クラスがある場合は、それを削除します。
- Div"X"を表示
2番目の部分がダウンしていて、Javaコードはどのタブがホバーされているかを検出しますが、追加のクラスを正しく切り替えることができません。
これまでの私のコード:
HTML
<div id="subnav">
<div id="nav1" onmouseover="toggleDisplay('contentPayment')" class="Payment myNav">
<a href="#">Payment</a></div>
<div id="nav2" onmouseover="toggleDisplay('content-shipping')" class="Shipping myNav">
<a href="#">Shipping</a></div>
<div id="nav3" class="Warranty myNav">
<a href="#">Warranty</a></div>
<div id="nav4" class="Feedback myNav">
<a href="#">Feedback</a></div>
</div>
JAVASCRIPT
<script>
var divs = new Array();
divs.push("contentPayment");
divs.push("content-shipping");
function hasClass(element, cls) {
return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
}
function toggleDisplay(id) {
for (var i = 0; i < divs.length; i++) {
var item = document.getElementById(divs[i]);
item.style.display = 'none';
}
//Now use the passed ID to show the div you wanted to show
var target = document.getElementById(id);
target.style.display = 'block';
if (id == "contentPayment") {
var CurrentTab = document.getElementById("nav1");
var AlreadyActive = hasClass("nav1", " tabActive");
if (AlreadyActive == true) {
CurrentTab.className = "Payment myNav";
} else {
CurrentTab.className += " " + "tabActive";
}
}
}
</script>
私の問題は何ですか?jQueryの方がはるかに簡単であることはわかっていますが、私はeBay用にコーディングしており、eBayでは許可されていません。tabActiveクラスを正しく切り替えるにはどうすればよいですか?