JavaScript bookmarlet中的间隔

时间:2018-02-13 14:49:32

标签: javascript bookmarklet

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



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




我不擅长编码,所以我试图让它变得非常简单。

3 个答案:

答案 0 :(得分:1)

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

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

}, 1);

Ps:间隔以毫秒为单位

答案 1 :(得分:1)

您可以使用此代码段执行所需操作:

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);

答案 2 :(得分:1)

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

  1. function拼写为funtion
  2. 您需要使用setInterval代替setTimeout
  3. 然后你需要从你调用它的函数setInterval之外发起two():`setInterval(two,1)
  4. 正如其他人所提到的,您可以将末尾的数字1更改为您希望其保留每种颜色的任何其他毫秒数。
  5. var one;
    function two() {
      document.body.style.backgroundColor = "#" + Math.floor(Math.random() * 1000);
    };
    setInterval(two, 1);

    干杯!