Я пытаюсь настроить слайдер для проекта. У меня есть массив объектов, каждый объект содержит изображение и легенду. Каждый раз, когда пользователь нажимает кнопку «Далее» или «Предыдущий», он должен отображать следующий или предыдущий объект массива. Проблема в том, что он отображает одно и то же изображение вместо следующего, третьего, пятого и так далее.
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;
});
вы должны опубликовать простую скрипку, ваш код выглядит так, как будто он должен работать (хотя и пропустить изображение, потому что вы дважды увеличиваете)
index++ сначала возвращает значение, а затем увеличивает его. ++index сначала увеличивает его, а затем возвращает значение.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Это работает намного лучше, спасибо, Фил.
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;
});
Только увеличивать/уменьшать
indexоднажды в каждом обработчике событий. Кроме того, вы хотите использовать префиксindexс соответствующим оператором вместо использования суффикса, то есть++index