JQuery/JavaScript:使用随机数生成器作为setInterval()计时器



我是JS/Jquery的新手,我试图让一个图像以设定的间隔出现在随机的地方(就像打鼹鼠游戏),目前设定为每3秒重复一次,但我希望图像在1到2秒之间的随机时间出现。

以下是我遇到问题的代码:

var roleTime = Math.floor(Math.random()*(2000-1000));
        setInterval(function(){
            randRole();
        }, 3000);

我试图使用roleTime变量来代替3000ms,但它只会导致图像快速填充它所包含的div。

setInterval只能使用一个间隔值(回调之间的间隔大致相同)。但您可以使用重复的setTimeout来代替:

function cycle() {
    setTimeout(function() {
        randRole();
        cycle();
    }, 1000 + Math.floor(Math.random() * 2000));
}
cycle();

还要注意,它是如何计算1000(包括1000)和3000(不包括3000)之间的随机数的:它取1000,然后加上0(包括0)和2000(不包括2000)之间的一个随机数。

最新更新