我正在寻找一种方法来改变我的javascript数字计数器的工作方式。现在它只是每秒计数,但我希望它能在1秒到15秒之间随机计算。
{{1}}
有人可以帮助我将计数时间更改为随机数吗?
答案 0 :(得分:1)
假设间隔在1到15秒之间,并在每个间隔之后改变。 public string GetParagraphs(string html, int startParagraph, int numberOfParagraphs)
{
// ...
var result = paragraphs.Skip(startParagraph)
.Take(numberOfParagraphs)
.Select(paragraph => paragraph + paragraphSeparator);
}
不合适。 setIntervsal()
这是一个不错的选择,因为等待的单一间隔。每个下一个间隔都会有一个新的等待时间,必须再次调用。随机等待时间通过setTimeout()
来实现,该函数返回0到1之间的浮点数。使用因子并强制为整数并填充1000毫秒,我们得到所需的间隔。
(对于以前的解决方案的一句话:首先,我认为只有一个固定的随机间隔才适合,但问题是,请求了什么样的间隔。)
Math.random()
答案 1 :(得分:1)
尝试
(Math.floor(Math.random() * 15) + 1)*1000
而不是固定的1000毫秒
答案 2 :(得分:0)
使用随机时间参数在setTimeout
中使用setInterval
代替startCount()
,并在count
函数的末尾调用它。
function startCount()
{
timer = setTimeout (count, Math.floor(Math.random() * 14000) + 1000);
}
function count()
{
var el = document.getElementById('counter');
var currentNumber = parseFloat(removeCommas(el.innerHTML));
el.innerHTML = addCommas(currentNumber+1);
startCount()
}