set Interval()メソッドの呼び出しと停止.

1640 ワード

この間、ネズミ狩りのjavascriptを書いています.カウントダウンの問題については、setInterval()法を適用していますが、呼び出し停止に関しては問題があります.
  • 最初に私は
    if(  ){
       setInterval(a,b);
    }
    を使ってみました.明らかにset Intervalに対する認識が足りませんでした.これは繰り返し起動する方法ではありません.実際には、set Interval()は一回だけ呼び出すと無限呼び出しが発生します.
  • インターネットで簡単に調べたら、set Interval()はclear Intervalを使う必要があることが分かりました. を停止します
  • 具体的な説明は以下の通りです.
  • var myVar = setInterval(function(){ myTimer() }, 1000);
     
    function myTimer() {
        var d = new Date();
        var t = d.toLocaleTimeString();
        document.getElementById("demo").innerHTML = t;
    }
     
    function myStopFunction() {
        clearInterval(myVar);
    }
    clear Interval()方法は、set Interval()関数によって設定されたタイミング実行動作をキャンセルすることができる.clear Interval()メソッドのパラメータは、set Interval()によって返されるID値でなければならない.注意: clear Interval()を使用するには、実行タイミング操作を作成する際にグローバル変数を使用します.
  • 以下、修正後のカウントダウンコードを追加してください.
    button1.onclick = function() {
        	//     ,     
        	if(c_D_Time_Z_flag){
               time = c_D_Time_Z;
        	}
        	c_D_Time_Z_flag = false;
        	start_Time = new Date();//       
        	myVar = setInterval(count_Down,1000);
          }
        function count_Down(){
        	var c_D_Time1 = new Date();
            c_D_Time = time-parseInt(parseInt((c_D_Time1 - start_Time))/1000);
            document.f1.t4.value = c_D_Time;  
            if(c_D_Time_Z_flag){
              /*          ,        */
              c_D_Time_Z = c_D_Time;
            }
            if(c_D_Time<1||c_D_Time_Z_flag){    	
                  clearInterval(myVar);//              
            }
            
        }
        button2.onclick = function() {
        	//     ,     
        	c_D_Time_Z_flag = true;
          }