我是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)之间的一个随机数。