@swks

Как реализовать горизонтальное движение при вертикальном скролле?

tYByv2rjUz0.jpg

Как реализовать горизонтальное движение при вертикальном скролле, что бы движение происходило по прямой и в одном блоке, а не происходило по всей странице ?
  • Вопрос задан
  • 348 просмотров
Решения вопроса 1
@hime2
Вот почитайте
Еще советую почитать про scrollleft

Вот еще одни вариант
https://github.com/kasparsj/jquery-data-parallax вот готовый пример, но он лагает, как мне кажется.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Deonisius
@Deonisius
Родился в 11110110111 году, 11000 января.
Если я правильно понял, то в принципе, сюда можно прикрутить , решение которое я давал на похожий вопрос. Только заменить scrollTop на scrollLeft
Пример в песочнице

UPD jsfiddle.net/27mz45L2/1
var elH = horizontal.offsetHeight,
    elTop = horizontal.offsetTop,
    winH = window.innerHeight,
    factor = horizontal.scrollWidth / (elH * 2 + winH);
window.addEventListener('scroll', function (e) {
    var elPosTop = horizontal.getBoundingClientRect().top + elH,
        elPosBot = horizontal.getBoundingClientRect().bottom - elH;
    if ((elPosTop >= 0) && (elPosBot <= winH)) {
        var dE = document.documentElement,
            top = (this.pageYOffset || dE.scrollTop) - (dE.clientTop || 0);
        horizontal.scrollLeft = Math.abs(elTop - winH - top) * factor;
    }
}, false);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы