2016-04-12 24 views
0
var ele=Boolean(document.getElementById("seconds").innerHTML>=30) 
while(ele==false) 
if(ele){ 

私は常にこれをチェックし、それが一度実行されたらそれを実行したいと思います。これどうやってするの? whileループを実行してifループを実行したいだけですが、コンソールで実行します。コンソールでjavascript関数を繰り返し呼び出す方法

答えて

3

何かを実行する関数を構築するにはsetIntervalを使用し、条件がtrueの場合はclearInterval(id)を使用してそれを停止します。

これをコンソールに入力してください: refreshIntervalId = setIntervalId = {console.log( 'hi'); if((new Date).getMinutes()> 27){clearInterval(refreshIntervalId)}}、1000 );

2

コンソールでwhileループを実行するテストで、私のブラウザが急にクラッシュしました。いい考えではない。ページのsetIntervalを代わりに使用してみてください。

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
</head> 
<body> 
<div id="seconds">30</div> 
<script> 
var myTest; 
myTest = setInterval(checkElement, 100); 
// elem is set outside the function so the function runs quicker, but in reality, this won't make a significant difference in this example 
var elem = document.getElementById("seconds"); 
function checkElement(){ 
    if(parseInt(elem.textContent)>30){ 
      console.log(Math.random()); 
      clearInterval(myTest); 
    } 
} 
</script> 
</body> 
</html>