Показать сообщение отдельно
  #84 (permalink)  
Старый 17.12.2017, 21:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Nlk,
scroll происходит несколько раз, pageIndex никак не изменется ...
возможно вы хотели что-то такое ...(код правильный, но скорее всего не то что вам нужно)
window.addEventListener("DOMContentLoaded", function() {
  document.addEventListener("scroll", eventScroll);
  var pages = document.querySelectorAll(".page");
  var lastScrolled = 0;
  function showPage() {
    [].forEach.call(pages, function(el, i) {
      i == pageIndex ? el.classList.add("active") : el.classList.remove("active");
    });
  }
  var pageIndex = 0;
  showPage();
  function eventScroll() {
    var scrolled = window.pageYOffset || document.documentElement.scrollTop;
    if (scrolled < lastScrolled) {
      --pageIndex;
    } else {
      ++pageIndex;
    }
    pageIndex < 0 && (pageIndex = 0);
    pageIndex > pages.length - 1 && (pageIndex = pages.length - 1);
    showPage();
    lastScrolled = scrolled;
  }
});
Ответить с цитированием