我正在开发一个简单的 HTML 和 Javascript 项目;我的计时器有问题。
我正在计算两个Date()
对象之间的秒数;每2秒,我想得到一个新的随机数。我有一个setInterval
每 100 毫秒运行一次,当我超过 2 秒时,if
语句中的代码应该运行。
所以我的问题是:
如何确保代码在每 100 毫秒运行一次的if
语句中每 2 秒执行一次?setInterval()
这是代码:
var startTime = new Date();
var endTime = new Date();
var randomNumber = 0;
var gameTimer = setInterval(function(){
//calculate seconds;
var secondsPassed = Math.round( (endTime - startTime) / 1000 );
if(modulo(secondsPassed,2) == 0){
//when the "gate" is open this keep executing every 100 mili seconds.
//but i want it to execute only once every 2 seconds.
randomNumber = Math.floor(Math.random()*lanes.length);
$(lanes[randomNumber]).append(box);
}
endTime = new Date();
}, 100);
var modulo = function (n, m) {
var remain = n % m;
return Math.floor(remain >= 0 ? remain : remain + m);
};