Последний слайд равен нулю

155
19 сентября 2018, 16:50

Запилил простой слайдер, вот код:

$('.portfolio-slider .slide-button').on('click',function(){
    var buttonPrev = $(this).hasClass('slide-prev'), buttonNext = $(this).hasClass('slide-next');
    var slideBlock = $('.portfolio-slider .-slide'), slideActive = $('.portfolio-slider .-slide.slide-active');
    var slideLen = slideBlock.length, slideActiveIndex = slideActive.index();
    slideBlock.removeClass('slide-active');
    if(buttonPrev) {
        slideBlock.eq(slideActiveIndex-1).addClass('slide-active');
        console.info('slide: '+(slideActiveIndex-1)+'/'+slideLen);
    }
    if(buttonNext) {
        slideBlock.eq(slideActiveIndex+1).addClass('slide-active');
        console.info('slide: '+(slideActiveIndex+1)+'/'+slideLen);
    }
});

Проблема в том, что когда на последнем слайде нажимаешь buttonNext, то открывается нулевой слайд..
Да, я знаю о том что отсчёт с нуля.. Но вот где?
И как его сделать не нулевым, а первым?

Answer 1

Сам спросил - сам разобрался -_-

Добавил вот этот код в условие if(buttonNext)

var slideNext = (slideActiveIndex+1);
if(slideNext==slideLen) var slideNext = 0;
READ ALSO
Как при событии на теге с data-id=“1” найти другой тег с data-id=“1”?

Как при событии на теге с data-id=“1” найти другой тег с data-id=“1”?

У меня есть два родительских блока в одном потоке, в этих блоках есть дочерние блоки с data-id=""Интересует как при событии hover в первом родительском...

175
Замена элемента по нажатию кнопки

Замена элемента по нажатию кнопки

Предположим, есть таблица элементовВ одной из колонок указано время

176
Axios vs jQuery.ajax()

Axios vs jQuery.ajax()

Изучаю Vuejs и потребовался асинхронный запрос на сервер

271
.setAttribute. ReferenceError: element is not defined

.setAttribute. ReferenceError: element is not defined

Имеется 2 кнопкиКаждая имеет отдельную функцию по клику

164