Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как убрать зацикленность слайдера? (https://javascript.ru/forum/misc/79125-kak-ubrat-zaciklennost-slajjdera.html)

Lefseq 21.12.2019 16:19

Как убрать зацикленность слайдера?
 
Помогите, пожалуйста немного исправить слайдер. Он крутит блоки зациклено, а нужно, чтобы на последнем блоке останавливался.

let timer = null;
let slider = document.querySelector('#slider'),
  slides = slider.querySelectorAll('.slide_item'),
  len = slides.length,
  index = len - 1,
  dir = 1;
 
function move() {
  slides[index].style.opacity = "";
  slides[index].style.Zindex = "";
  index = (index + dir + len) % len;
  slides[index].style.opacity = 1;
  slides[index].style.Zindex = 1;
  timer = window.setTimeout(move, 400);
}
 
function show(state) {
  if (state === "block") {
    timer = window.setTimeout(move, 0);
  } else {
    clearTimeout(timer);
  }
  document.getElementById('window9').style.display = state;
  document.getElementById('wrap9').style.display = state;
}


<div  id="wrap9"></div>
 
                    <!-- Само окно-->
            <div id="window9">
                        
          <div id="slider">
        <div class="slide_item">
БЛОК №1
        </div>
        <div class="slide_item">
БЛОК №2
        </div>
        <div class="slide_item">
БЛОК №3
        </div>
    </div>              
                    
            </div>

рони 21.12.2019 16:27

Цитата:

Сообщение от Lefseq
timer = window.setTimeout(move, 400);

index < len - 1 && (timer = window.setTimeout(move, 400));

:-?

Lefseq 21.12.2019 19:13

рони,
Спасибо за помощь!


Часовой пояс GMT +3, время: 04:11.