Точно описать строчки кода. JS - слайдер

239
19 мая 2017, 16:13

Мне посоветовали взять этот кусок кода. Я взяв, но толком мне не понятны некоторые моменты.

var slides = document.querySelectorAll("#slides .slide"); // что здесь выбирается? 
var currentSlide = 0;                             // текущий слайд, тоесть начинают с нуля
var slideInterval = setInterval(nextSlide, 8000); // вызов слайдера с задержкой 8 секунд 
function nextSlide() {
    slides[currentSlide].className = "slide";          // элемент массива с слайдерами, текущий слайд
    currentSlide = (currentSlide + 1) % slides.length; // я так понял, это для возвращения к 0?
    slides[currentSlide].className = "slide showing"   // показать элемент слайдера
}

Я все правильно прокомментировал?

Подскажите, пожалуйста, то, что я не понял (обозначил "?").

Answer 1
var slides = document.querySelectorAll("#slides .slide"); // тут выбираются элементы с классом .slide внутри контейнера с id="slides"
var currentSlide = 0;                             // текущий слайд, тоесть начинают с нуля
var slideInterval = setInterval(nextSlide, 8000); // вызов слайдера с задержкой 8 секунд 
function nextSlide() {
    slides[currentSlide].className = "slide";          // элемент массива с слайдерами, текущий слайд
    currentSlide = (currentSlide + 1) % slides.length; // это деление с остатком, см ниже
    slides[currentSlide].className = "slide showing"   // показать элемент слайдера
}

деление с остатком имеет такой плюс - остаток идет по циклу от 0 до (n-1), т.е.

const всегоЭлементов=14; 
for (let простоНомер=всегоЭлементов;простоНомер<100;простоНомер++) { 
           console.log(простоНомер, простоНомер % всегоЭлементов); 
}

ps: в реальном коде не используйте кириллицу для переменных, я их так назвал для демонстрации.

READ ALSO
Упрощение сложного if

Упрощение сложного if

Подскажите пожалуйста, можно ли упростить условие?

216
Как распарсить дату json?

Как распарсить дату json?

Хочу сделать так что бы ответ который приходит с сервера отображался на экране, не не могу найти как это сделать

327
Парсинг значений элементов с помощью JS

Парсинг значений элементов с помощью JS

Задача спарсить на JS все атрибуты товараПробовал различные вариации

297
найти несколько ссылок

найти несколько ссылок

Здравствуйте! Мне нужно найти ссылки, которые имеют атрибут href="tel:

292