0

このサイトのように、Ajax を使用してコンテンツを読み込み、ヘッダーだけが再読み込みされないようにしたい。

これまでのところ、これはありますが、同じ効果を得るために他に何を追加すればよいかわかりません。その Web サイトでは、ヘッダー以外のコンテンツだけでなく URL も変更されていることに気付きました。これはまさに私が望んでいることです。ソース コードを調べた後、URL の .php 拡張子に気付く以外に、彼が使用しているものは何も見つかりません。

$('nav li a').click(function(){
  // var pageurl = $(this).attr(href);
  var pageurl = $(this).attr('href');

  $('#wrap').load(pageurl);
});

私は何を間違っていますか?

アップデート

href申し訳ありませんが、まだうまくいきませんが、の引用符を見逃していました。

4

2 に答える 2

2
$('nav li a').click(function(e){
  var pageurl = $(this).attr('href');

  $('#wrap').load(pageurl);

  e.preventDefault();
});

attr を引用符で囲み、preventDefault() を追加してリンクがページを変更しないようにする必要があります。

編集:

セレクターが次のようになっていることに気付きました。

$('nav li a')

#navまたは.nav(IDまたはクラスの場合)であることを意味していませんか?

于 2013-07-17T14:01:11.900 に答える
0

アドレスバーの変更を実現するには、ウィンドウの履歴オブジェクトを使用する必要があります。

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history を確認してください

そのページから:

var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");
于 2013-07-17T14:10:16.487 に答える