HTML、CSS、および JavaScript を使用して、単一ページの「Web アプリ」をまとめました。3 つのリンクがあります。ユーザーがリンクをクリックすると、そのリンクのコンテンツが表示され、他のリンクのコンテンツが非表示になります。リンクをクリックすると、太字に変わるはずですが、そうではありません。いくつかの調査を行ったところ、次を使用する必要があることがわかりました。
// Bold selected link
this.className = "selectedLink";
クリックされたリンクのIDを取得する関数内ですが、機能していません。関数内でクリックされたリンクの ID を取得できないのはなぜですか? HTML、CSS、JavaScript を分けておきたい。
フィドル: http://jsfiddle.net/ZYEUV/
<style>
.selectedLink {
font-weight: bold;
}
</style>
<p><a href="#" id="linkPage1" class="selectedLink">Example Page 1</a> | <a href="#" id="linkPage2">Example Page 2</a> | <a href="#" id="linkPage3">Example Page 3</a></p>
<div id="page1">
<h1>Example Page 1</h1>
<p>Content goes here.</p>
</div>
<div id="page2">
<h1>Example Page 2</h1>
<p>Content goes here.</p>
</div>
<div id="page3">
<h1>Example Page 3</h1>
<p>Content goes here.</p>
</div>
<script>
var pages = [page1, page2, page3];
// Displays page and hides all other pages
function goToPage(pageID) {
console.log(pageID);
// Display page
for (var i = 0; i < pages.length; i++) {
if (pageID == pages[i].id) {
// Show page
pages[i].style.display = "block";
// Bold selected link
this.className = "selectedLink";
} else {
console.log(pages[i]);
// Hide page
pages[i].style.display = "none";
// Unbold unselected link
this.className = "selectedLink";
}
}
}
linkPage1.onclick = function () {
goToPage("page1");
};
linkPage2.onclick = function () {
goToPage("page2");
};
linkPage3.onclick = function () {
goToPage("page3");
};
goToPage("page1");
</script>