javascript - 使用按钮分别遍历arraylist和显示元素
问题描述
我想遍历这个数组。
const array = ['item1', 'item2', 'item3', 'item4', 'item5'];
并在 div 中默认显示第一个项目,并使用按钮在同一个 div 中显示下一个项目(也替换旧项目)我确实尝试过,但它没有用
const quizConainer = document.getElementById('quiz');
const next = document.getElementById('next');
const array = [
'<h1>item1</h1>',
'<h1>item2</h1>',
'<h1>item3</h1>',
'<h1>item4</h1>',
'<h1>item5</h1>',
];
quizConainer.innerHTML = array[0];
function nextItem() {
for (let i = 0; i < array.length; i++) {
if (quizConainer.innerHTML === array[i]) {
quizConainer.innerHTML = array[i++];
}
}
}
next.addEventListener('click', nextItem);
这就是html
<div id=""></div>
<button id="next">Next</button>
解决方案
声明一个全局变量。这可以帮助你而不是循环。编辑:添加了 jsfiddle
<div id="quiz"></div>
<button id="next">Next</button>
<script>
const quizConainer = document.getElementById('quiz');
const next = document.getElementById('next');
let i = 1;
const array = [
'<h1>item1</h1>',
'<h1>item2</h1>',
'<h1>item3</h1>',
'<h1>item4</h1>',
'<h1>item5</h1>',
];
quizConainer.innerHTML = array[0];
function nextItem() {
i = i % array.length; //If you want it reset and start from first on traversing the entire array
console.log(i);
quizConainer.innerHTML = array[i];
i = i +1;
}
next.addEventListener('click', nextItem);
</script>
推荐阅读
- ios - 如何使用 ECDH 加密快速创建 64 字节公钥和 32 字节私钥?
- excel - 如何从列表中获取最高值
- javascript - 为什么在提示后执行音频?
- go - 在golang中读取和解析xml文件但打印时没有错误和“0”值
- docker - 使用 nginx 设置 Docker 多容器。Nginx 无法识别主机(host not found in upstream)
- python-3.x - 无法使用更新代码在 tensorflow V2 中加载 TensorFlow v1 模型?
- gremlin - 使用 valueMap() 和 toList() 的 gremlin 查询需要时间才能获得结果
- angular - 量角器找不到角度变量并等到茉莉花默认时间导致测试失败
- scala - 测试流响应的 Play 框架控制器
- c - 在C中制作一个计算PriorityQueue中元素数量的函数