使用javascript更改背景颜色

使用javascript更改背景颜色,javascript,Javascript,当我点击按钮时,我试图改变bg的颜色,它可以工作,但只在第一次点击时改变。当我点击按钮时,我希望能够不断地改变身体背景。 演示试试这个: var d = document, btnElem = d.querySelector("button"), bodyElem = d.querySelector("body"); function randomBg () { var red = Math.floor(Math.random() * 256); var green = Math.

当我点击
按钮时,我试图改变bg的颜色,它可以工作,但只在第一次点击时改变。当我点击按钮时,我希望能够不断地改变身体背景。
演示

试试这个:

var d = document, 
btnElem = d.querySelector("button"), 
bodyElem = d.querySelector("body");

function randomBg () {
  var red = Math.floor(Math.random() * 256);
  var green = Math.floor(Math.random() * 256);
  var blue = Math.floor(Math.random() * 256);
  bodyElem.style.backgroundColor = 'rgb(' + red + ',' + green + ',' + blue + ')';    
}

btnElem.onclick = randomBg;
试试这个():


它不起作用的原因是您调用了一次生成颜色的
randomBg()
。之后,它不再生成任何颜色。

只需将生成的红色、绿色和蓝色变量放入单击事件处理程序中,这样它们就可以在每次单击时执行,而不是只执行一次/工作正常。非常感谢。
var d = document, 
btnElem = d.querySelector("button"), 
bodyElem = d.querySelector("body");

btnElem.onclick = function() {
    bodyElem.style.backgroundColor = 'rgb(' + Math.floor(Math.random() * 256) + ',' + Math.floor(Math.random() * 256) + ',' + Math.floor(Math.random() * 256) + ')';
}