2017-06-27 12 views
0

setIntervalを使用してページのリフレッシュを制御したいと考えています。私はそれがデフォルトで(ページが読み込まれるときに)実行したいと思いますが、私は特定の時間にそれをオフにできるようにする必要があります。だから私はあなたが次のように書いてきました。問題は、ページが最初に表示されるときにリフレッシュがオンにならないことです。ボタンを2回クリックしてから、setIntervalコントロールの更新を再度有効にした後でのみ表示されます。setIntervalを使用してデフォルトでリフレッシュをオンにする方法(スイッチでオフにする方法)

私のhtmlボタンの定義は次のようになります。

<button id="autoref" type="button" name="autoref" onclick="stopAutoRef();">Stop Auto Ref</button> 

私のstopAutoRef関数は次のようになります。

function stopAutoRef() { 
    if ($("#autoref").text() == "Stop Auto Ref") { 
     $("#autoref").html('Start Auto Ref'); // You see this if Refresh is not automatically happening 
     clearInterval(); 
    }else {$("#autoref").html('Stop Auto Ref'); // You see this if Refresh is automatically happening 
     setInterval(function() {showActivities(document.getElementById("select1").value);}, 60000); 
    } 
} 
+0

あなたがたsetInterval(関数(){showActivities(のdocument.getElementByIdを(実行していない理由は、特定の理由があります"select1")。value);}、60000);最初に文書を作成する準備ができていますか? – SamGhatak

答えて

0

setIntervalそれを止めるためにclearIntervalに渡す必要がありますIDを返します。また、クリックするだけでなく、ファンクションstartAutoRef()を呼び出して、リフレッシュのデフォルト動作を開始することもできます。

var autoRefId = null; 

function stopAutoRef() { 
    if (autoRefId !== null) { 
     $("#autoref").html('Start Auto Ref'); // You see this if Refresh is not automatically happening 
     clearInterval(autoRefId); 
     autoRefId = null; 
    } else { 
     $("#autoref").html('Stop Auto Ref'); // You see this if Refresh is automatically happening 
     autoRefId = setInterval(function() {showActivities(document.getElementById("select1").value);}, 60000); 
    } 
} 

stopAutoRef(); 
+0

これはすぐに使えます。作品をオフにして、自動的に両方の作品をオンにします。 –

0

clearintervalには、通常、どの機能を停止するかの引数が必要です。だからこれを試してみる?

これを試してみてください。

HTML:

<button id = 'b' onclick = 'stop(this)' value = 'true'>Stop ref</button> 

Javascriptを:

var myfunc = setInterval(function(){ 
location.reload(); 
},1000);; 
function stop(button){ 
    if(button.innerHTML == 'Stop ref'){ 
     button.innerHTML = 'Start ref'; 
     clearInterval(myfunc); 
    } 
    else{ 
     button.innerHTML = 'Stop ref'; 
     myfunc = setInterval(function(){ 
     location.reload(); 
     },1000);; 
    } 
} 
+0

私はそれを働かせる(それをオフにする)ために、最後のブラケット}を追加する必要があったが、私はそれを元に戻すときに、元気に戻っていない。 –

関連する問題