这是我的第一个问题,我希望在这里找到答案。 我有一个数组

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>


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!