基本的には、各「ページ」(実際にはdivなど)にIDまたはクラスを割り当ててから、CSSファイルでそれぞれをdisplay:noneに設定します。次に、jQueryの.show()と.hide()を使用して、それらを表示または非表示にします。
具体的には、いくつかのハンドラーをナビゲーションにバインドする必要があります。たとえば、ホームナビゲーションアイテムの場合:
$("#my-home-nav").click(function(){
$("#my-home-div").show(); // or .fadeIn(), etc.
$("#my-about-div").hide();
$("#my-contact-div").hide();
});
上記は、ページ数が多い場合にこの種の冗長な記述を行う可能性があり、ページを追加するのはやや困難です。以下のようなものを使用すると、ページを追加しやすくなる場合があります。
var pageNames = ["home", "about", "contact"];
var namespace = "my";
var pages = pageNames.map(function(pageName) {
return {
nav: pageNameSelector(pageName, "nav"),
div: pageNameSelector(pageName, "div")
};
});
pages.forEach(function(page) {
page.nav.click(function() {
clearPages(pages);
page.div.show();
});
});
function pageNameSelector(pageName, type) {
return $(["#" + namespace, pageName, type].join("-"));
}
function clearPages(pages) {
pages.forEach(function(page) {
page.div.hide();
});
}
したがって、あなたがしなければならないのは、nav / divのIDが与えられている追加のページを識別するための同じ規則に従うことNAMESPACE-PAGENAME-TYPE
です。追加のページ名をに追加するpageNames
と、表示/非表示機能が機能します。