Смена картинки при клику <img 1> <img2> и так далее

148
17 октября 2018, 05:30

Еесть 10 картинок, они отображаются подряд списком.

<img src="..1" /> 
<img src="..2" />

Как для экономии места, описать в js чтобы отображалась одна картинка, а при клике на неё показывалась следующая, и так по кругу.

Похоже на карусель, но без авто-прокрутки.

(Плагинов куча, но я не любитель плагинов. )

Answer 1

много есть способов, вот например

[].slice.call(document.querySelectorAll('img')).forEach(function(el, i, arr) {
    i && (el.style.display = 'none');
    el.onclick = function(e) {
        el.style.display = 'none';
        arr[i + 1 === arr.length ? 0 : i + 1].style.display = 'inherit';
    }
});

но я бы на Вашем месте добавил к этим изображениям класс:

<img class='slider' src='...'/>
<img class='slider' src='...'/>

чтобы точно выбрать со страницы только их

document.querySelectorAll('img.slider');
READ ALSO
Как получить z-index с сайта?

Как получить z-index с сайта?

Всем привет! Есть такая строчка на сайте: Подскажите пожалуйста, как получить и записать z-index по data-id в переменную, а то там много таких строчек?

133
В чём отличие между двумя методами отрисовки изображения?

В чём отличие между двумя методами отрисовки изображения?

Вопрос по canvas В чём разница между этими методами отрисовки изображения:

154
Как заставить работать данный код со всеми input?

Как заставить работать данный код со всеми input?

Как заставить работать данный код со всеми input?

139