2017-05-26 6 views
-2

私は尋ねるチャレンジを完了しようとしています。Javascript stop&startコンソールログ

メッセージと数値をパラメータとして使用して、その時刻までにメッセージをコンソールに記録する関数を作成します。

var displayLog = function Container(param) { 
 
    var message = 'any string'; // Local message variable 
 
    var timeCount = '10'; // Local time count variable 
 

 
    setInterval(function getLoggeddemo(message, timeCount) { 
 
    console.log(message); 
 
    return getLoggeddemo; 
 
    }(), timeCount); 
 

 
    function myStopFunction() { 
 
    clearInterval(myVar); 
 
    }; 
 
} 
 

 

 

 
var mixBut = document.getElementById("mixBut"); 
 

 
mixBut.addEventListener("click", Start); 
 

 
function Start() { 
 
    displayLog.setInterval(); 
 
} 
 

 
function Stop() { 
 
    displayLog.myStopFunction(); 
 
}
<input type="button" id="mixBut" value="Start" />

+1

クールな小さな課題のようですね。あなたは何にこだわっていますか? –

+0

私は、どのように開始と停止の機能をクリックするかを機能させるJSの最後の部分はできません。私は停止関数と区間関数を正確に参照しているとは思わない。 – khalebrucht22

+0

よく区間のIDを保存しないでください。 – epascarello

答えて

0
var displayLog = { 

    message : 'any string', // Default local message variable 

    timeCount : 1000, // Default local time count variable => equal to 1second 

    myVar : undefined, //at first is undefined,see myStartFunction 

    setSeconds : function(number_of_seconds){ 
     this.myStopFunction();//first stop previously event if existing 
     this.timeCount = number_of_seconds * 1000; 
    }, 

    setMessage : function(message){ 
     this.message= message; 
    }, 

    myStartFunction : function(){ 
     this.myVar=setInterval(function(){ 
       console.log(displayLog.message); 
      }, displayLog.timeCount); 
    }, 
    myStopFunction:function(){ 
     clearInterval(this.myVar); 
    } 
} 

var mixBut = document.getElementById("mixBut"); 
var c = 0; 
mixBut.addEventListener("click", toggleStartStop); 

function toggleStartStop(){ 
    if(c%2==0) 
      displayLog.myStartFunction(); 
    else 
      displayLog.myStopFunction(); 
    c++; 
} 
+0

ありがとう、ほとんどそこに、私は、メッセージ変数、予期しない識別子でエラーを取得し続けます。私はそれが正しく宣言されたと思ったので私は混乱しています – khalebrucht22

+0

@ khalebrucht22私の新しい答えを見て、私はそれを改善し、コードを簡略化しました。 setIntervalの引数として渡された時間はミリ秒単位で表されなければならないので、timeCount = 1000は実際には1秒です。 –

+0

ほぼ完璧に感謝します。ログが開始されたら入力ボタンは停止できません。 – khalebrucht22

関連する問題