javascript - 如何使用 addEventListener 在数组内导航?

标签 javascript arrays addeventlistener

我正在尝试为项目设置 slider 。我有一个对象数组,每个对象都包含一个图像和一个图例。每次用户单击下一个或上一个按钮时,它都应该显示数组的下一个或上一个对象。问题是它显示相同的图像,而不是下一个、第三个、第五个等等。

var index = 0;
var images = [
    {image: 'images/1.jpg', legend: 'Street Art'},
    {image: 'images/2.jpg', legend: 'Fast Lane'},
    {image: 'images/3.jpg', legend: 'Colorful Building'},
    {image: 'images/4.jpg', legend: 'Skyscrapers'},
    {image: 'images/5.jpg', legend: 'City by night'},
    {image: 'images/6.jpg', legend: 'Tour Eiffel la nuit'}
];
var previous = document.getElementById('slider-previous');
var next = document.getElementById('slider-next');

next.addEventListener('click', function() {
    img.src= images[index++].image;
    figcaption.textContent = images[index++].legend;
});
previous.addEventListener('click', function() {
    img.src= images[index--].image;
    figcaption.textContent = images[index--].legend;
});

最佳答案

效果好多了,谢谢菲尔

next.addEventListener('click', function() {
    ++index;
    img.src= images[index].image;
    figcaption.textContent = images[index].legend;
});

previous.addEventListener('click', function() {
    --index;
    img.src= images[index].image;
    figcaption.textContent = images[index].legend;
});

关于javascript - 如何使用 addEventListener 在数组内导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56593117/

相关文章:

javascript - 添加监听器到div标签来观看innerHtml内容

javascript - 具有相同类的多个元素上的事件监听器

javascript - 一种用 Webpack 循环 HTMLWebpackPlugin 的干净方法?

javascript - 我可以为此添加鼠标悬停声音吗?

javascript - 访问通过其他脚本插入的 HTML 元素

c++ - 如何在不使用任何不必要空间的情况下合并三个排序数组?

javascript - 当 div ID 位于窗口顶部时有条件的 addEventListener

javascript - 用动画增加数量

javascript - 如何在 Angular js 中将 JSON 嵌套字典转换为 JSON 嵌套数组?

Java二维数组取值和for循环问题