Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Выборка элементов querySelectorAll (https://javascript.ru/forum/events/71107-vyborka-ehlementov-queryselectorall.html)

Nlk 20.12.2017 15:19

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

рони 20.12.2017 15:28

Nlk,
то что вы хотите сделать, ничем не отличается от слайдера, если вы ещё не делали "свой" слайдер, начните с вертикального слайдера.

Nlk 20.12.2017 15:34

Ok. Спасибо. А касаемо отсутствующей полосы скрола, там видимо событие отлавливается иначе не по документу а по высоте слайда?

Nlk 20.12.2017 15:36

рони,
да и тот код с которым вы мне помогли ранее, это почти и есть слайдер за исключением тех нюансов которые я описал ранее со скролом.

рони 20.12.2017 15:52

Цитата:

Сообщение от Nlk
А касаемо отсутствующей полосы скрола, там видимо событие отлавливается иначе не по документу а по высоте слайда?

:-?
пример devote посмотрите внимательнее

Nlk 20.12.2017 15:57

рони,
Дело в том что он не сработал в строенном просмотре на сайте и я не обратил внимание на этот скрипт, а зря то что нужно, спасибо.

рони 20.12.2017 16:03

Цитата:

Сообщение от Nlk
не сработал в строенном

ранее было http сейчас https --- поэтому в старых примерах jquery сейчас может не загрузится, если там без s

рони 20.12.2017 16:14

Nlk,
http://www.thepetedesign.com/demos/o...roll_demo.html

Nlk 22.12.2017 14:01

рони,
Скажите пожалуйста, в чем может быть причина уязвимости данного кода, с которым вы помогли.
Дома всё прекрасно работает со всех браузеров, добавляет поочередно видимость к каждому блоку. А на работе проблемы с прокручиванием, смена слайдов происходит моментально с первого до последнего слайда. Разбирался с настройками колеса мыши ничего не помогло, пробовал с разных браузеров. Может preventDefault где нужно добавить?
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;
  }
});

Nlk 22.12.2017 14:03

К примеру, с данным примером, который приводил ранее всё работает и дома и на работе: https://html.nkdev.info/snow/home-9.html


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