PageSourceSearch

https://www.schwinnfitness.com/cdn/shop/t/18/assets/product-mini-compare.js?v=126104649670098983811773343312

js schwinnfitness.com collected 2026-09-25 18:51:47 UTC 2,445 bytes, 2 lines download raw bytes

1document.addEventListener("DOMContentLoaded",()=>{const handleScrollShadows=()=>{const container=document.querySelector(".mini-compare-grid--multi"),leftShadow=document.querySelector(".scroll-shadow--left"),rightShadow=document.querySelector(".scroll-shadow--right");if(!container||!leftShadow||!rightShadow)return;const updateShadows=()=>{const scrollLeft=container.scrollLeft,scrollWidth=container.scrollWidth,clientWidth=container.clientWidth,isAtStart=scrollLeft<=5,hasOverflow=scrollWidth>clientWidth,isAtEnd=scrollLeft+clientWidth>=scrollWidth-5;if(!hasOverflow){leftShadow.classList.remove("is-visible"),rightShadow.classList.remove("is-visible");return}isAtStart?leftShadow.classList.remove("is-visible"):leftShadow.classList.add("is-visible"),isAtEnd?rightShadow.classList.remove("is-visible"):rightShadow.classList.add("is-visible")};container.addEventListener("scroll",updateShadows),window.addEventListener("resize",updateShadows),updateShadows()},enableDragScroll=()=>{const slider=document.querySelector(".mini-compare-grid");if(!slider||slider.classList.contains("mini-compare-grid--dual"))return;let isDown=!1,isDragging=!1,startX,scrollLeft,dragTimeout;slider.addEventListener("mousedown",e=>{isDown=!0,isDragging=!1,clearTimeout(dragTimeout),slider.classList.remove("is-dragging"),startX=e.pageX-slider.offsetLeft,scrollLeft=slider.scrollLeft});const stopDragging=()=>{isDown=!1,isDragging?(clearTimeout(dragTimeout),dragTimeout=setTimeout(()=>{slider.classList.remove("is-dragging"),isDragging=!1},50)):slider.classList.remove("is-dragging")};slider.addEventListener("mouseleave",stopDragging),slider.addEventListener("mouseup",stopDragging),slider.addEventListener("mousemove",e=>{if(!isDown)return;e.preventDefault();const rawDelta=e.pageX-slider.offsetLeft-startX;if(Math.abs(rawDelta)>5&&(isDragging=!0,slider.classList.add("is-dragging")),isDragging){const walk=rawDelta*2;slider.scrollLeft=scrollLeft-walk}})},enableKeyboardNav=()=>{const slider=document.querySelector(".mini-compare-grid");slider&&slider.addEventListener("keydown",e=>{document.activeElement===slider&&(e.key==="ArrowRight"?(e.preventDefault(),slider.scrollBy({left:300,behavior:"smooth"})):e.key==="ArrowLeft"&&(e.preventDefault(),slider.scrollBy({left:-300,behavior:"smooth"})))})};handleScrollShadows(),enableDragScroll(),enableKeyboardNav()});
2//# sourceMappingURL=/cdn/shop/t/18/assets/product-mini-compare.js.map?v=126104649670098983811773343312

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.