2017-09-07 14 views
0

divのコンテンツを外部ロードされたPHPのJquery​​関数を使用して置き換えています。私の問題はPHPファイルのjavascriptコードを記述して、ファイルのload()に基づくjavascriptの実行を停止します

基本的に私が​​関数を実行すると、ファイルの内部javascriptもロードされます。これはこれまで素晴らしいです。私の問題は、​​関数を実行して別のjavascriptを使って別のコンテンツを再びdivにロードすると、ロードされた前のファイルのjavascriptが引き続き実行されることです。

最後に読み込まれたphpファイルのjavascriptの実行を停止し、新しいjavascriptを読み込む必要があります。

たとえば、ボタンをクリックするたびに、load()関数を使用して、私がdivに選択したページのphpとjavascriptを挿入すると、divと5個のファイルがあります。私のページのそれぞれが下

setInterval(function(){ 
    console.log("hello"); 
},1000) 

でこのコードを持っていると私は一度にそれぞれ1ページをロードする場合、それはJavaScriptを格納し、その結果に、「hello」を5回第二のコンソールログを実行します。

私がしたいことは、前のjavascriptを削除し、新しいページを選択するたびに新しいJavaScriptを読み込むことです。

どうすればよいですか?

+0

あなたはそれを価値あるものとして保存し、既に存在する場合はそれをクリアする必要があります。 – epascarello

+0

なぜ、ロード時に使用するのですか?その選択を行うたびにblurまたはclickイベントを使用して起動します。 – Keith

+0

変数を作成し、それをクリアしてから次の変数を実行しますか?愚かなように見えますが、どうすればいいですか? –

答えて

3

変数に変数を格納して削除する必要があります。

if (window.myInterval) window.clearInterval(window.myInterval) 
window.myInterval = setInterval(function(){ 
    console.log("hello"); 
}, 1000) 
+0

Brilliant、ありがとう君は!これはどうやって簡単に説明できますか?ありがとう:) –

+0

何があるか分からない....存在する場合は間隔をクリアし、setIntervalはIDを返し、MDNのドキュメントを読んでください。 http://mdn.beonex.com/en/DOM/window.setInterval.html – epascarello

1

より良いあなたが

setInterval(); 

メソッドを呼び出すと、それがされるまで、それが言われている機能をやっていきますので、あなたは、

clearInterval(); 

メソッドを使用して、削除区間を呼び出しますページを離れるか、間隔をクリアします。

関連する問題