【发布时间】:2017-10-27 14:16:08
【问题描述】:
我想让一个程序在单击按钮后更改 div 的背景颜色。
第一次单击后,它应该将一种颜色更改为第二种颜色。第二次单击后,颜色应返回到第一个选项。最后一次,颜色应该再次切换到第二个选项。所以它应该工作3次。但在我的代码中,它只适用于第一次点击。
我做错了什么?
var btn = document.getElementById('button');
var box = document.getElementById('sq');
function changeColor() {
var isPink = true;
var colorA = "#BA498B";
var colorB = "#5964E3";
var i = 0;
while (i < 3) {
if (isPink) {
change(colorB);
isPink = false;
i++;
} else {
change(colorA);
isPink = true;
i++;
}
}
}
function change(color) {
btn.addEventListener('click', function () {
box.style.backgroundColor = color;
});
}
window.onload = changeColor;
【问题讨论】:
-
你每次只运行一次'changeColor',而'isPink'变量每次都以true开始。
标签: javascript button onclick