这是我的第一个问题,我希望在这里找到答案。 我有一个数组
var arr = ['red', 'blue', 'black', 'green'];
我想循环遍历它,以便每次单击 btn
时都可以 console.log();
一个元素,并继续跟踪索引,以便我可以向后迭代如果我点击不同的按钮。
nextBtn.addEventListener('click',nextItem)
prevBtn.addEventListener('click',prevItem)
谢谢
请您参考如下方法:
您可以对索引进行闭包,并返回一个带有用于获取数组的下一个或上一个值的函数的对象。
var array = ['red', 'blue', 'black', 'green'],
index = function (i) {
var out = document.getElementById('out');
out.innerHTML = array[i];
return {
prev: function () {
i && i--;
out.innerHTML = array[i];
},
next: function () {
i + 1 < array.length && i++;
out.innerHTML = array[i];
}
}
}(0);
document.getElementById('nextBtn').addEventListener('click', index.next);
document.getElementById('prevBtn').addEventListener('click', index.prev);
<button id="prevBtn">prev</button> <span id="out"></span> <button id="nextBtn">next</button>