サーバーからデータをロードし、返された HTML を一致した要素に配置するjQuery メソッド.load()を使用できます。また、.toggle()メソッドを使用すると、要素を表示または非表示にすることができます。
次の例を考えてみましょう: index.htmlという名前のページがあるとします...
<header>
<nav>
<ul><li id="nav-about">About us</li></ul>
</nav>
</header>
<section>
<article id="dynamic-viewer">
Dynamic content will be placed here!
</article>
</section>
<aside>
<div id="loader" style="display:none">
<img src="http://www.ajaxload.info/images/exemples/24.gif" />
</div>
</aside>
...そして、ただのビューである
about.htmlという名前の別のファイルがあります:
<div>
<h2>About us</h2>
<p>This content is placed dynamically into #dynamic-viewer</p>
</div>
次に、jQuery.load()メソッド
を使用して、 about.htmlのコンテンツをindex.htmlのコンテンツ ラッパーに読み込みます。
//Click handler to load the "about" view
$(document).on("click.about", '#nav-about', function() {
fnShowLoading(true);
//Loads the content dynamically
$('#dynamic-viewer').load('views/about.html', function() {
fnShowLoading(false);
});
});
//Shows or hides the loading indicator
function fnShowLoading (show) {
$('#loader').toggle(!!show);
}
実際、ここで重要なのは次の行だけです。
//loads the content dynamically
$('#dynamic-viewer').load('views/about.html', function() { });
//shows or hides the loader section
$('#loader').toggle(!!show);