Задать вопрос
@superproger

Как сделать прокрутку левого меню при помощи translate на мобильных?

Чтоб лучше понять меня, зайдите на сайт m.sports.ru через хром с помощью режима просмотра с мобильного, выбрав любой мобильный, и откройте правое меню, когда его скроллишь, изменяется translate, как я понял никакого overflow, как реализовать подобное? Google не помог ничем особо(
  • Вопрос задан
  • 170 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Тут всё реализовано как обычный drag and drop на сенсорных устройствах.
1. С помощью JS (touchstart) определяем стартовые координаты нажатия. Так как присутствует transition: transform 300ms ease то убираем его (чтобы не глючило при перемещении).
2. touchmove отслеживает изменение положения и одновременно записывает изменения в стили меню
document.querySelector('#myMenu').style.transform = "translate("+x+"px,"+y+"px)";

3. touchend определяет координаты, где "отпустили палец" и сравнивает со стартовой позицией (или, условно, translateX < 0, как на том сайте) и принимает решение, что делать. Если отключалась анимация (см. п.1.) тогда она возвращается и элемент снова плавно передвигается.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы