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

Как скролить div с помощью touchmove?

Мне нужно сделать скрол для div c помощью touchmove.
Вот что сейчас сделал.
let lastY

element.addEventListener('touchmove', function(e) {
        let currentY = e.touches[0].clientY
        this.scrollTop += lastY-currentY
        lastY = currentY;
    })


Вот пример https://jsfiddle.net/uyfpo0qL/3/

Проблема в том что при старте нового передвижения скролл дергается в начале.
  • Вопрос задан
  • 395 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@Albert1991 Автор вопроса
Решил таким образом:

let boxWishes = document.querySelector('.strong-content'),
        startY = 0

    boxWishes.addEventListener('touchstart', function(e){
        let touchObj = e.changedTouches[0]
        startY = parseInt(touchObj.clientY)
        e.preventDefault()
    }, false)

    boxWishes.addEventListener('touchmove', function(e) {
        let touchObj = e.changedTouches[0],
            dist = parseInt(touchObj.clientY) - startY

        this.scrollBy(0, -dist)
        startY = parseInt(touchObj.clientY)
        console.log(e)
        e.preventDefault()
    }, false)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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