import {tns} from "tiny-slider/src/tiny-slider"; var parallaxSlider ; document.addEventListener('DOMContentLoaded', () => { document.querySelectorAll('#ParallaxSliderTns')?.forEach(function (el) { if (el.classList.contains('.tns-slider')){ console.log('ignore'); return 'ignore'; } parallaxSlider = tns({ container: el, items: 1, // slideBy: 'page', autoplay: false, autoplayButton: false, // nextButton: false, controls: false, autoplayHoverPause: true, mouseDrag: true, autoplayTimeout: 5000, autoplayButtonOutput: false, // speed:10000, }); }); // document.addEventListener('scroll', function() { // const scrolled = window.scrollY; // const slides = document.querySelectorAll('.parallax-slider'); // // slides.forEach((slide) => { // const offset = slide.offsetTop; // slide.style.backgroundPositionY = `${(offset - scrolled) * 0.2}px`; // Adjust the multiplier for effect // }); // }); // Parallax effect function applyParallax() { const sliders = document.querySelectorAll('.parallax-slider'); const windowHeight = window.innerHeight; const scrollY = window.scrollY; sliders.forEach(slider => { const sliderRect = slider.getBoundingClientRect(); const sliderCenter = sliderRect.top + sliderRect.height / 2; const viewportCenter = windowHeight / 2; const distanceFromCenter = sliderCenter - viewportCenter; const parallaxOffset = distanceFromCenter * -0.7; // Adjust this value to control parallax intensity const bgImage = slider.getAttribute('data-bg'); slider.style.backgroundImage = `url('${bgImage}')`; slider.style.backgroundPositionY = `calc(50% + ${parallaxOffset}px)`; }); } // Apply parallax on scroll and resize window.addEventListener('scroll', applyParallax); window.addEventListener('resize', applyParallax); // Initial application applyParallax(); // Reapply parallax when tiny-slider changes slides parallaxSlider.events.on('transitionEnd', applyParallax); });