JavaScript

Помогите отзеркалить код для слайдерра (мне сказали просто отзеркалить)! в main.js

Часть для отзеркаливания
без тильды (~)

~function nextGo() {
console.log('Входное значение - '+slide);
if (slide < col-1) {
for (let i = 0; i < col; i++) {
item[i].classList.remove('active');
}
slide++;
item[slide].classList.add('active');
} else {
for (let i = 0; i < col; i++) {
item[i].classList.remove('active');
}
slide = 0;
item[slide].classList.add('active');
}
console.log('Выходное значение - '+slide);
console.log('---------------------');
} ~
а чо за северное животное это писало?

просто как бы у вас что под одной веткой (первого if) что под другой одни и теже действа, с одной маааааленькой разницей которую только и можно вытащить под этот if

крч суть в чем сначала у всех item убрать класс active а затем одному конктретному по индексу slide его добавить. если индекс превышает лимит его надо обнулить, иначе увеличить

как это можно переделать

если вы можете гарантировать что только эта функция будет управлять классом active можно убрать циклы, заменив их на убирание класса active у одного item[slider], делать это ДО изменения индекса
если не можете гарантировать то оставьте один цикл как есть, главное ДО добавления класса active

после увеличиваем индекс
первое условие меняем до вида if (val >= max) val = min;
чисто технически оба действа можно свернуть в такое условие
if (++val >= max) val = min;
и менять только в этой одной строке

далее добавляем класс active элементу item[slider]

для реверса вам нужно лишь будет менять местами max и min, инкремент с дикрементом и направление сравнения
Юрий Коньков
Юрий Коньков
5 038
Лучший ответ
Виктор Коробов Спасибо но можно было без оскарблений? Просто вы не на меня сказали а на моего учителя. Я только начала изучать эту тему)
по простому алгоритм обхода в одну или в другую сторону прибавляем 1 или -1;

step = 1; // или -1 если шагаем в обратную сторону
slide += step;