Привет!
Пытаюсь сделать вот такой эффект блока во время скролла страницы.
Ссылка
здесь, мотайте вниз.
Для слайдера подключил плагин slick.js, написал не большую функцию чтобы слайдер работал при скролле блока
#owlZone
.
Теперь пытаюсь поймать координаты блока и сделать автоскроллинг до якоря в блоке, когда прокрутка страницы > чем половина от этого блока.
Поймать координаты блока пытаюсь путем вычисления, один пользователь подсказал мне
сделать так . Но такой способ работает только если скролить от начала страницы. Такое решение для моей задачи не подходит, так как пользователь будет скролить и вверх и вниз или вовсе обновит страницу где-нибудь на середине. Поэтому нужно универсальное решение.
Код
//slick js
// scroll
var zone = document.getElementById('owlZone'),
slickJs = $('.toushbrush-slider');
zoneCoords = zone.getBoundingClientRect();
document.addEventListener('scroll', function(event) {
var x = zoneCoords.top;
var y = pageYOffset;
var z = window.innerHeight;
??? Здесь должно что-то быть ???
// slick whell slide
zone.addEventListener('wheel', function(event) {
var currentSlider = slickJs.slick('slickCurrentSlide');
if (event.deltaY > 0) {
slickJs.slick('slickNext');
} else {
slickJs.slick('slickPrev');
}
}, false);
// init slick
$('.toushbrush-slider').slick({
vertical: true,
infinite: false
});