2016-11-02 6 views
0

私はタイマーが私のために自動クリックするチッカーゲームを構築しています。ボタンをクリックするたびにタイマーの速度を上げたいが、ボタンを5回クリックするとタイマーのスピードが上がらないようにする。設定されたクリック数でsetInterval()が増加するのを防ぎます

var total = 0; 
var itemValue = 0; 

var autoClick = function() { 
    if(itemValue <= 5) { 
     total = total + itemValue; 
    } 
}; 

$("#button").click(function() { 
    itemValue++; 
    setInterval(autoClick, 1000); 
}); 

任意の提案:

これは私がこれまでに出ている何ですか?

+1

それはスピードで増加していません。 'setInterval'を呼び出すたびに、作成された後、毎秒' autoClick'を呼び出す新しい間隔が作成されます。 – SimpleJ

+0

それで、5回のクリック後に追加間隔を作成しないようにするにはどうすればよいですか? – Hunter

+0

'if'文を' click'コールバックに追加します。 – SimpleJ

答えて

0

したがって、毎秒x値でtotalを増やしたいとします。
x「スピードを上げる」ボタンをクリックすると...
私はそれを得ましたか?

一致間隔を防ぐには、以前の間隔をクリアする必要があります。

var total = 0; 
 
    var itemValue = 0; 
 
    var myInterval; 
 

 
    var autoClick = function() { 
 
     total = total + itemValue; 
 
     console.log(total); 
 
    }; 
 

 
    $("#button").click(function() { 
 
     if(itemValue <= 4) { 
 
      // Increase... 
 
      itemValue++; 
 
      // Prevents multiple intervals. 
 
      clearInterval(myInterval); 
 
      myInterval = setInterval(autoClick, 1000/itemValue); 
 
      console.log("Increasing by "+itemValue+" now..."); 
 
     }else{ 
 
      console.log("Hey! By "+itemValue+" is way enought!"); 
 
     } 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<button id="button">Increase speed!</button>

+0

非常に近いですが、私はタイマーの速度も上げません。 – Hunter

+0

ここにあなたのタイマーは何ですか?それは間隔そのものですか? –

+0

編集しました...間隔の遅延が短くなりました。見てみましょう。 –

関連する問題