0

たとえば、プロフィールページがあり、「About」、「Photos」、「Videos」セクションなどで選択し、セクションを変更するたびにページを更新したくないので、コンテナのコンテンツを次のように変更したいだけです。 Javascript。確かに、Javascriptファイルにページのマークアップを書き込むのは便利ではありません。私の考えは、各ビューのdivを記述し、そのうちの1つだけを表示することです。

<div id="about>About content</div>

<div id="photos" style="display: none;">Photos content</div>

ただし、ページに非表示のビューを保持するのは好きではないので、それを行うにはもっと良い方法があると思います。また、ほとんどの場合、ビューのコンテンツはスクリプトによって生成される必要があるため、テンプレートエンジンの仕事のように見えますが、Javascriptにそのようなものがあるかどうかはわかりません。

では、これをJavascriptで実装するための最良の方法は何でしょうか。私の考えが明確であることを願っています。前もって感謝します!

4

2 に答える 2

2

javascriptのテンプレートエンジンであるmustacheを使ってみてください。

また、AngularJSテンプレート (オンデマンドで動的にページに読み込まれる) を使用することもできます。非常に使いやすいです。(しかし、あなたが望まないかもしれない他のものを含んでいます..しかし、望むべきです;))

于 2012-12-17T16:47:54.233 に答える
1

ユーザーがリンクをクリックするたびに、jQuery を使用してビューをフェッチします。

たとえば、クリック イベントをバインドします。

$('#clickToSeePhotos').click(function(){
    $('#photosContainer').load('pathTo/photos.html');
});

$('#clickToSeeAbout').click(function(){
    $('#aboutContainer').load('pathTo/about.html');
});

html は次のとおりです。

<a id="clickToSeePhotos" href="#">Photos<a/>
<div id="photosContainer"></div>

<a id="clickToSeeAbout" href="#">About<a/>
<div id="aboutContainer"></div>

これは、 http://api.jquery.com/load/の詳細と例を提供する jQuery のページへのリンクです。load

jQuery ライブラリをダウンロードして、サーバーで使用できます。ただし、@Cybrix が示唆するように、Google がホストするライブラリを指定することもできます。このリンクを参照してください。最終的に、これによりユーザーのパフォーマンスが向上する可能性があります。

于 2012-12-17T16:48:25.217 に答える