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

Как сделать свайп на JS?

Как сделать на чистом JS свайп? Мне нужно, чтобы при нажатии, удержании и движении левой кнопки мыши/пальца картинка в слайдере шла за курсором/пальцем. И при отжатии курсора/пальца, слайд перемещался в том случае, если свайп был больше чем на четверть или треть родительского элемента. Короче, так же, как и в slick-слайдере это работает:
https://kenwheeler.github.io/slick/
  • Вопрос задан
  • 7945 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
MikeSilence
@MikeSilence
JsNinja
Как только поджигается евент mouseover, считаешь миллисекунды до mouseout.
Если mouseout в течении примерно 250мс не произошло то понимаешь что это был слайд. А дальше все просто.
Высчитываешь на сколько переместился курсор в лево или право и на столько двигаешь свою картинку. Скорость с которой двигать тоже можно по формуле из школьной программы.
С последним тоже все просто, если mouseout произашел когда мышка проделала путь равный 1/4 или 1/3 шириный родительского элемента, просто докручиваешь картинку.
Ответ написан
Комментировать
@loonny
Нет, единого API для этого нет. Есть Touch API и MouseEvent API. Я бы вам посоветовал не придумывать велосипед когда придумали мотоцикл.

Короче, так же, как и в slick-слайдере это работает
А что вам мешает посмотреть исходный код slick-слайдера?
Ответ написан
Комментировать
bootd
@bootd
Гугли и ты откроешь врата знаний!
Что бы сделать свайп как вы хотите, придётся написать много кода. Врятли кто-то захочет это делать.
Если вы хотите научиться делать подобные вещи, то у публичных библиотек есть github репозитории, в которых можно увидеть реализацию тех или иных фич. Зайдите и поглядите как описаны swipe методы там. Вот и будет ответ.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 16:42
2000 руб./за проект
18 дек. 2024, в 16:33
2000 руб./в час
18 дек. 2024, в 16:06
5000 руб./за проект