I have a javasrcipt code to make draggable som horozontal scroll areas on a website i'm working on, which works well on the first elemnt in dom, but i have more of such areas with the same class, and i was trying to looping through them all, but after gooogling a few hours and making several attemps a just couldn't make it work, could please help me how should i modify my code. Here is the code which works on the first dom element:
const slider = document.querySelector(".ld-products ul");
let isDown = false;
let startX;
let scrollLeft;
slider.addEventListener("mousedown", e => {
clearTimeout(this.downTimer);
this.downTimer = setTimeout(function() {
slider.classList.add("active");
}, 100);
isDown = true;
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;
slider.scrollLeft = scrollLeft - walk;
});