@luadipa

Тильда. Grab скролл в галерее зеро блока?

Суть проблемы - есть зеро блок, в нем галерея, в которой скриптом доты управления превращены в миниатюры фоток. Миниатюр много, добавлен автоматический overflow по оси х, чтобы был скролл, но никак не удается сделать так, чтобы его можно было зажатой кнопкой мыши тащить.
Страница (1080р и больше).

<script>
const slider = document.querySelector('.thumber .t-slds__bullet_wrapper');
let isDown = false;
let startX;
let scrollLeft;

slider.addEventListener('mousedown', (e) => {
  isDown = true;
  slider.classList.add('active');
  startX = e.pageX - slider.offsetLeft;
  scrollLeft = slider.scrollLeft;
});
slider.addEventListener('mouseleave', () => {
  isDown = false;
  slider.classList.remove('active');
});
slider.addEventListener('mouseup', () => {
  isDown = false;
  slider.classList.remove('active');
});
slider.addEventListener('mousemove', (e) => {
  if(!isDown) return;
  e.preventDefault();
  const x = e.pageX - slider.offsetLeft;
  const walk = (x - startX) * 3; //scroll-fast
  slider.scrollLeft = scrollLeft - walk;
  console.log(walk);
});
</script>


Где thumber - класс галереи, t-slds__bullet_wrapper - класс контейнера с точками-миниатюрами.

Спасибо.
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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