2012-02-11 7 views
0

ヘッダー(タイトルとメニュー)とコンテンツが配置されているテーブル(レイアウトを簡単にすることができるため)で構成されるシンプルなWebサイトを構築しています。問題は、カテゴリを変更するたびに(メニューのリンクをクリックするたびに)、読み込み中に短時間、サイト全体が白くなります。私はそれが欲しいので、これは起こらないので、ページ全体ではなく、テーブルの内容を読み込むだけです。私はフレームを使って簡単にこれを行うことができたと思いますが、すぐにサポートが中止されると言われました。これを行う方法はありますか?Javascriptを使用してHTMLコードをテーブルに読み込む方法は?

当分の間、サイトはここにあるので、私が話している効果を見ることができます: http://bljak.org:1235/index.html

また、私がPHPに精通していないため、サイトが単なるHTMLとJavascriptであったとしたら最高です(512MbのRAMを搭載したネットブックでコーディングしているので、そこ)。

+0

人々はまだウェブブラウザを除いてこの方法でウェブサイトを作ったことは知らなかった!しかし、あなたはjQuery.Ajax({})を実行できます。しかしこれはおそらくあなたの頭の上にあるかもしれません – davethecoder

+0

この方法でウェブサイトを作るのに悪いことはありますか? – corazza

答えて

1

私はjQueryのに基づいて道を与えるだろう - これは最も単純で短い方法です。

まず、最新のjQueryライブラリをダウンロードしてください - hereが見つかりました。

はjQueryライブラリ「を含む」するために、既存のHTMLコードに、このようなラインを持っている「jquery.min.js」あなたはあなたのローカルファイルに名前を付けるとします

<script type="text/javascript" src="jquery.min.js"></script> 

今、あなたが必要とするすべてはあなたのページでこのコードですそして、すれば完了です:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("a").bind("click", function() { 
      var href = $(this).attr("href"); 

      //bust nasty browser AJAX cache: 
      href += "?nnn=" + parseInt(Math.random() * 1000000); 

      $("#Container").load(href); 
      return false; 
     }); 
    }); 
</script> 

は「身体」が含まれている必要があり、あなたのページの実際の要素のIDでコンテナを交換し、その後任意のリンクをクリックすると、リンク先のページがコンテナにロードされるようになりますフルページリロードなし。

コードはかなり簡単ですが、あなたがそれのどの部分を理解したいのか尋ねることは自由です。

jQueryは100K未満です。現代のインターネット速度では、本当に問題になるはずはありません。純粋なJavaScriptはもちろん可能ですが、クロスブラウザを維持するには頭痛の種がたくさんあります。

+0

これは私が探していたものです。どうもありがとうございました! – corazza

+1

乾杯、私は助けることができてうれしい。 :) –

+0

しかし、エラーがあるようです:XMLHttpRequestはfile:/// C:/Documents%20and%20Settings/user/Desktop/Latinski/izgovorigs.htmlをロードできません。 Origin-nullはAccess-Control-Allow-Originによって許可されていません。私は何をすればいいのでしょうか?これはどういう意味ですか? – corazza

1

あなたはタグとその終了タグの間のテキストを書き換えるinnerHTMLプロパティを使用することができます。

<script type="text/javascript"> 
function changeText(){ 
    document.getElementById('tbl').innerHTML = '<table><tr><td>New Text</td></tr></table>'; 
} 
</script> 
<div id="tbl"></div> 
<input type="button" onclick="javascript:changeText()" value="Change Text"/> 
+0

はい、もちろんです。しかし、それは私がHTMLページ全体(またはテーブルだけ)をその単一のステートメントにコピーする必要があり、変更を加えることは少し面倒かもしれません...私はそのようなものを探していましたが、また、引用符にそのテーブルをコピーしようとすると、ちょっとどこか(引用)が壊れてしまいます。 – corazza

関連する問題