2016-10-09 2 views
0

すべてのコンテンツがdiv名のコンテンツに読み込まれるウェブサイトを作成しています。私のメニューバーもdiv名メニューに読み込まれます。同じコンテンツがdivで2回目に読み込まれたときのブラウザのIDに関する問題

同じリンクを2回クリックすると問題が発生します。だから、私は2回目のためのmembers.phpをクリックすると、コンテンツがdivにロードされますが、私の機能のいくつかは、彼らが頼りにしているとidが設定されているとして期待どおりに動作しません。 IDは一度しか使用できませんので、IDを2回目に読み込むときにページをロードしてください。私はコンテンツを別の時間(オプションではありません)読み込む前にそれを削除する必要があります - 多くのidsがあるので。

jqueryを使用してdivにコンテンツを読み込みます。例えば、$( '#content')。load( 'members.php');

これを実行すると、IDが機能しなくなります(最初のページの読み込み内容はそのまま残ります)。そのdivをリロードする方法があります。

これは正常な動作ですか?

+0

2つのオプションがあります:1新しいコンテンツを読み込む前に '#content'を空にします。 2 - コンテンツがロードされたら、メニューボタンを無効にします。 –

+0

私は$( "。menudiv")を使って空をやってみました。empty()(menudivはクラス名です)これはうまくいかず、特定のコンテンツをリロードする必要があります。例えば、それを反映するためにリフレッシュする必要があります) – Wouter

+0

'$("。menudiv ").html(" ");'を試してください。 '.empty()'はテキストノードだけを削除します。 [参考](https://api.jquery.com/empty/) –

答えて

0

フラグを使用して、このコンテンツが以前にロードされたかどうかを定義できます。ロードされていない場合は読み込み関数を呼び出すたびにチェックしてからロードしてください。

//initialize members_loaded variable when your page start. 
var members_loaded = false; 
//then when you want to load data check for it, change it to true in your complete function (when ajax done) 
if(!members_loaded){ 
    $("#content").load("members.php", function() { 
     members_loaded = true; 
    }); 
} 
関連する問題