document.addEventListener("DOMContentLoaded", function () {
let position = 0; // track our position
const cardWidth = 230; // width of card + gap (300px + 10px)
const maxScroll = 7 * cardWidth - 2 * cardWidth; // 10 cards - 2 visible cards
const cardsWrapper = document.querySelector(".cards-wrapper");
// Existing code for your next and previous buttons
document.querySelector(".prev").addEventListener("click", function () {
position = Math.min(position + cardWidth, 0); // don't scroll beyond the first card
cardsWrapper.style.transform = `translateX(${position}px)`;
});
document.querySelector(".next").addEventListener("click", function () {
if (Math.abs(position) === maxScroll) {
// if at the end, jump back to start
position = 0;
} else {
position = Math.max(position - cardWidth, -maxScroll); // don't scroll beyond the last card
}
cardsWrapper.style.transform = `translateX(${position}px)`;
});
// Code for the range slider on mobile
const rangeSliders1 = document.querySelector(".rad__range-input-slider-for-carousel1");
if (rangeSliders1) {
rangeSliders1.addEventListener("input", function () {
let totalScrollAmount = cardsWrapper.scrollWidth - document.querySelector(".carousel-container1").offsetWidth;
let scrollPosition = totalScrollAmount * (this.value / this.max);
cardsWrapper.scrollLeft = scrollPosition;
});
}
// Sync the range slider with actual scrolling on mobile
cardsWrapper.addEventListener("scroll", function () {
let totalScrollAmount = this.scrollWidth - document.querySelector(".carousel-container1").offsetWidth;
let scrollRatio = this.scrollLeft / totalScrollAmount;
document.querySelector(".rad__range-input-slider-for-carousel1").value = scrollRatio * document.querySelector(".rad__range-input-slider-for-carousel1").max;
});
});
document.addEventListener("DOMContentLoaded", function () {
let position = 0; // track our position
const cardWidth = 230; // width of card + gap (300px + 10px)
const maxScroll = 7 * cardWidth - 2 * cardWidth; // 10 cards - 2 visible cards
const cardsWrappers = document.querySelector(".cards-wrappers");
// Existing code for your next and previous buttons
document.querySelector(".prevs").addEventListener("click", function () {
position = Math.min(position + cardWidth, 0); // don't scroll beyond the first card
cardsWrappers.style.transform = `translateX(${position}px)`;
});
document.querySelector(".nexts").addEventListener("click", function () {
if (Math.abs(position) === maxScroll) {
// if at the end, jump back to start
position = 0;
} else {
position = Math.max(position - cardWidth, -maxScroll); // don't scroll beyond the last card
}
cardsWrappers.style.transform = `translateX(${position}px)`;
});
// Code for the range slider on mobile
const rangeSliders = document.querySelector(".rad-tile-grid__sliders");
if (rangeSliders) {
rangeSliders.addEventListener("input", function () {
let totalScrollAmount = cardsWrappers.scrollWidth - document.querySelector(".carousel-containers").offsetWidth;
let scrollPosition = totalScrollAmount * (this.value / this.max);
cardsWrappers.scrollLeft = scrollPosition;
});
}
// Sync the range slider with actual scrolling on mobile
cardsWrappers.addEventListener("scroll", function () {
let totalScrollAmount = this.scrollWidth - document.querySelector(".carousel-containers").offsetWidth;
let scrollRatio = this.scrollLeft / totalScrollAmount;
document.querySelector(".rad-tile-grid__sliders").value = scrollRatio * document.querySelector(".rad-tile-grid__sliders").max;
});
});