Javascript 如何通过单击更改背景颜色?

Javascript 如何通过单击更改背景颜色?,javascript,function,dom-events,Javascript,Function,Dom Events,这是所有人都可以查看的 var button = document.querySelector("button"); var x = clickMagic(); function clickMagic(){ var count = 0; var colorCode = ["#FF7F50", "#E9967A", "#FFA07A", "#FFD700", "#ADFF2F", "#98FB98", "#00FFFF", "#E0FFFF", "#AFEEEE", "#87CE

这是所有人都可以查看的

var button = document.querySelector("button");
var x = clickMagic();

function clickMagic(){
    var count = 0;
    var colorCode = ["#FF7F50", "#E9967A", "#FFA07A", "#FFD700", "#ADFF2F", "#98FB98", "#00FFFF", "#E0FFFF", "#AFEEEE", "#87CEEB", "#DDA0DD", "#FFB6C1", "#F5F5DC", "#FFEBCD", "#FFFFE0", "#DEB887", "#FFE4B5", "#FFDEAD", "#FAF0E6"];

    return document.getElementById("bodyEdit").style.backgroundColor = colorCode[count];

    if (count == numCount - 1) {
      console.log("End of Array and rotation");

    }
    count = count + 1;
}

button.addEventListener("click", x);

如果您想在单击按钮时调用
单击magic
,可以这样编写

button.addEventListener("click", clickMagic)

实际上你在这里做的是:

var x=clickMagic();
正在分配函数clickMagic的返回值,因此X将是未定义的(因为我看不到任何返回),并且您将无法调用它(因为它是一个已启动的函数)

您应该将代码更改为:

var x=点击魔法;
按钮。addEventListener(“单击”,x)//这将在单击按钮时触发该功能

或者用另一种方法:

按钮。addEventListener(“单击”,clickMagic);

问候。

我想这就是你希望它做的

var button = document.querySelector("button");
var colorCode = ["#FF7F50", "#E9967A", "#FFA07A", "#FFD700", "#ADFF2F", "#98FB98", "#00FFFF", "#E0FFFF", "#AFEEEE", "#87CEEB", "#DDA0DD", "#FFB6C1", "#F5F5DC", "#FFEBCD", "#FFFFE0", "#DEB887", "#FFE4B5", "#FFDEAD", "#FAF0E6"];

var count = 0;

function clickMagic(){
  document.getElementById("bodyEdit").style.backgroundColor = colorCode[count];
  count++;
  if(count >= colorCode.length){
      console.log("End of Array and rotation");
      count = 0;
  }
}

button.addEventListener("click", clickMagic);

你到底想做什么?从你想做的代码中可以明显看出,但是如果你描述了你想实现的目标和不起作用的目标,那就更好了。指向钢笔的链接给出了一个404,我试图在点击一个按钮时改变HTML正文的背景色。非常感谢编辑。他把它做得更体面了,我把它搞砸了。我不知道你的名字,但如果可能的话,我会当面感谢你。你把错误搞定了。我只想让这段代码在某个时间间隔后自行更改颜色。但是,这并没有发生。因此,我尝试使用HTML页面上的一个按钮触发“背景的基本变化”,然后您能将答案标记为正确答案吗?:)很高兴我能帮忙