我如何一步通过一个单元格在一个时间使用onclick数组
How do I step though an array one cell at a time using onclick?
我是新的JavaScript,并试图创建一个函数,改变我的HTML文档的背景颜色,每次我点击一个div。我的代码只是循环,虽然我的数组一直到结束,而不是一个循环每次点击我的div。我知道我错过了一些增量每次我点击div,但不能弄清楚什么。在我的HTML文档中我有一个DIV
<div id="autoText" onclick="moveMe()"></div>.
这是目前为止我的JavaScript:
var multipleColors = [];
multipleColors[0] = "red";
multipleColors[1] = "blue";
multipleColors[2] = "yellow";
function moveMe() {
for (i=0; i < multipleColors.length; i++) {
console.log("This is step " + i);
this.document.body.style.backgroundColor=multipleColors[i];
}
}
我真的很感激任何人的建议?
谢谢。
如果您想在到达结束后从开始继续,请使用%(取模)运算符:
var multipleColors = [];
multipleColors[0] = "red";
multipleColors[1] = "blue";
multipleColors[2] = "yellow";
var current = 0;
function moveMe() {
current++;
var newIdx = current % multipleColors.length;
this.document.body.style.backgroundColor = multipleColors[newIdx];
}
不使用循环,而是使用计数器变量,每当单击该元素时,该变量都会增加:
var index = 0;
function moveMe() {
console.log("This is step " + index);
this.document.body.style.backgroundColor=multipleColors[index];
index += 1;
}
如果你想在数组结束后从数组的开头继续,重置变量:
var index = 0;
function moveMe() {
console.log("This is step " + index);
this.document.body.style.backgroundColor=multipleColors[index];
index += 1;
if (index === multipleColors.length) {
index = 0;
}
}
试试这样
var multipleColors = [];
multipleColors[0] = "red";
multipleColors[1] = "blue";
multipleColors[2] = "yellow";
function moveMe() {
this.document.body.style.backgroundColor=(multipleColors[multipleColors.indexOf(this.document.body.style.backgroundColor)+1])?multipleColors[multipleColors.indexOf(this.document.body.style.backgroundColor)+1]:multipleColors[0];
}
你可以继续在数组中添加更多的颜色。
相关文章:
- 如何在一个时间间隔后追加新的更新
- 转换一个时间(字符串),例如1:00 IST到另一个时区(比如PST)
- 在 rails / html / js 中创建一个时间轴
- 给定一个时间戳,如何按天/周/月显示时间
- jQuery:创建一个循环,首先需要一个时间间隔,然后更改为另一个时间间隔
- 编写一个时间函数,在游戏中清除倒计时并重新启动
- 在每行PHP上调用一个时间戳函数
- xd_soft日期时间选择器在只选择一个时间值时高亮显示多个时间值
- 使用moment.js、js或Jquery,在一个时间范围内打开一个功能
- 使用flipclock.js自动每日重置计数器到一个时间
- 创建一个时间间隔,使函数在JavaScript中随机时间运行
- 在javascript中制作一个时间计数器
- 我如何得到模态窗口弹出时,我选择一个时间槽fullCalendar
- 修改Meteor-React待办事项列表示例,显示一个时间范围内创建的列表项
- 列出一个HTML段落< >在一个时间效应
- 如何让一个消息弹出(悬停)当玩家击中一个时间瞬间
- 需要做多个搜索在一个时间与开始字符这是在自动完成搜索
- 我如何处理日期在javascript中,当它不断附加一个时间值
- 我如何使一个时间滑块显示网站存档在WordPress
- 褪色的9个缩略图在随机1在一个时间使用jquery画廊