JavaScript 小书签的间隔

Interval in JavaScript bookmarlet

我正在研究书签片段,我正在尝试制作一个可以快速改变背景颜色的循环。这是我的代码:

var one;
funtion two() {
  document.body.style.backgroundColor = "#" + Math.floor(Math.random() * 1000);
  setTimeout(two, 1);
}
void 0

我不太擅长编码,所以我尽量让它变得非常简单。

最好的解决方案是将主体的颜色更改方法集成到一个 setInterval 函数中,该函数将在每个所需的时间间隔触发。

window.setInterval(function(){
   document.body.style.background = '#'+Math.floor(Math.random()*16777215).toString(16);

}, 1);

Ps :间隔以毫秒为单位

你可以用这段代码做你想做的事:

function randomBackground() {
  var red = Math.floor(Math.random() * 255);
  var green = Math.floor(Math.random() * 255);
  var blue = Math.floor(Math.random() * 255);
  document.body.style.backgroundColor = 'rgb(' + red + ',' + green + ',' + blue + ')';
}
setInterval(randomBackground, 1);

我也提交了这个片段作为编辑,但我不完全确定它们是如何工作的。所以我也将其作为答案提交。我已经通过尽可能少地编辑您的原始代码来完成您想要的。这是我更改的内容。

  1. function 拼写为 funtion
  2. 您需要使用 setInterval 而不是 setTimeout
  3. 然后您需要从您正在调用它的函数 two() 外部启动那个 setInterval:`setInterval(two, 1)
  4. 正如其他人所提到的,您可以将末尾的数字 1 更改为您希望它保持每种颜色的任何其他毫秒数。

var one;
function two() {
  document.body.style.backgroundColor = "#" + Math.floor(Math.random() * 1000);
};
setInterval(two, 1);

干杯!