javascript - 试图理解 JS 循环
问题描述
我正在努力理解 JS 循环。我找到了一个在线教程,用于更改 div id="container" 的随机颜色的按钮。然而,事实证明,随机颜色在单击后经常重复。我想更改代码并逐个循环遍历数组颜色,并在每次单击后更改 div#container 的颜色。这是我的代码:
let colors = ["blue", "yellow", "green", "brown", "orange"];
let btn = document.getElementById("btn");
btn.addEventListener("click", function () {
let container = document.getElementById("container");
for (i = 0; i < colors.length; i++) {
let selectColor = colors[i];
}
container.style.backgroundColor = selectColor;
});
我收到错误:分配给未声明的变量 i。有人可以帮我吗?
解决方案
您一次循环遍历数组中的所有颜色,然后只使用最后一个来设置背景颜色。
你应该只增加一,然后设置颜色
let colors = ["blue", "yellow", "green", "brown", "orange"];
let btn = document.getElementById("btn");
let i = 0;
let container = document.getElementById("container");
btn.addEventListener("click", function () {
i++;
if(i >= colors.length) i = 0;
container.style.backgroundColor = colors[i];
});
推荐阅读
- flutter - Flutter:当我热重载我的提供者时创建新对象
- python - 这如何适用于 Python 中的乘法?
- javascript - 如何在不停止 Python 函数的情况下向 JS 发送返回值
- node.js - Puppeteer:仅为主页域添加基本身份验证标头,不适用于第 3 方请求
- node.js - 为什么异步等待不等待 - nodejs
- tensorflow - 训练后在 Keras 中修改自定义层
- flutter - 颤动,切换小部件在 showDialog 中无法正常工作
- django - 自定义用户/密码不正确时检索到的默认消息 djangorestframeworkssimple-jwt?
- function - 我需要知道的两个 Python 问题基础知识
- makefile - 难以将 $ORIGIN 添加到 LDFLAGS