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

Как осуществить перемещение контента перетаскиванием мыши/слайдом по экрану?

Как осуществить такое перетаскивание? Примерно как здесь: https://www.youtube.com/watch?v=J0u4B9lzBDw

На данный момент горизонтальный скролл организуется по отлавливанию вертикального скролла через тачпад/колесико мыши

UPD: свое решение приложил в ответ
  • Вопрос задан
  • 3400 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 2
@AmadeyMinisol
full stack web-developer
используйте события drag (ondragstart, ondragleave) и перемещайте влево/вправо блок с датами
Ответ написан
@denisbookreev Автор вопроса
Вот как я решил данную задачку (все оказалось в разы проще, чем я думал):
// timeline - блок с горизонтальным скроллом
timeline.onmousedown = () => {
  let pageX = 0;

  document.onmousemove = e => {
    if (pageX !== 0) {
      timeline.scrollLeft = timeline.scrollLeft + (pageX - e.pageX);
    }
    pageX = e.pageX;
  };

  // заканчиваем выполнение событий
  timeline.onmouseup = () => {
    document.onmousemove = null;
    timeline.onmouseup = null;
  };

  // отменяем браузерный drag
  timeline.ondragstart = () => {
    return false;
  };
};
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
serjikz
@serjikz
web-developer
Это карусель. Можно попробовать сделать из вот этой: kenwheeler.github.io/slick тут есть подобное.
Ответ написан
Ваш ответ на вопрос

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

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