gpt4 book ai didi

javascript - 使用循环 onclick 更改背景颜色

转载 作者:行者123 更新时间:2023-11-30 17:28:07 25 4
gpt4 key购买 nike

这是我的 js fiddle :http://jsfiddle.net/pYM38/16/

 var box = document.getElementById('box');

var colors = ['purple', 'yellow', 'orange', 'brown', 'black'];

box.onclick = function () {

for (i = 0; i < colors.length; i++) {

box.style.backgroundColor = colors[i];


}

};

我正在学习 JavaScript。我试图让它遍历数组中的每种颜色,但是当我单击该框(jsfiddle 上的演示)时,它会转到数组中的最后一个元素。

最佳答案

这里有两种方法,具体取决于您要做什么:

点击时循环到下一个

var box = document.getElementById('box'),
colors = ['purple', 'yellow', 'orange', 'brown', 'black'];

box.onclick = function () {
color = colors.shift();
colors.push(color);

box.style.backgroundColor = color;
};

http://jsfiddle.net/pYM38/17/

点击时循环遍历

var box = document.getElementById('box'),
colors = ['purple', 'yellow', 'orange', 'brown', 'black'];

box.onclick = function () {
(function loop(){
var color = colors.shift();

box.style.backgroundColor = color;

if (colors.length) {
setTimeout(loop, 1000);
}
})();
};

http://jsfiddle.net/pYM38/23/

下次点击时重新启动

var box = document.getElementById('box'),
colors = ['purple', 'yellow', 'orange', 'brown', 'black'];

box.onclick = function () {
var set = colors.slice(0);

(function loop(){
var color = set.shift();

box.style.backgroundColor = color;

if (set.length) {
setTimeout(loop, 1000);
}
})();
};

关于javascript - 使用循环 onclick 更改背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23818675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com