1 2var refer = 'https://usedautopartsdenver.co/'; 3var PAGEID = 61065; 4$(function() { 5$(".fancygallery").fancybox(); 6}); 7// GLOBAL JAVASCRIPT 8(function() { 9// pixels per second (lower = slower) 10var SPEED_PX_PER_SEC = 80; 11document.querySelectorAll('.marquee').forEach(function(marquee) { 12var track = marquee.querySelector('.marquee__track'); 13var first = marquee.querySelector('.js-marquee-original'); 14if (!track || !first) return; 15// Clear previous clones if rerun 16track.querySelectorAll('.is-clone').forEach(function(n) { 17n.remove(); 18}); 19// Clone until the total track width is at least 2x the viewport width. 20// This guarantees seamless looping with no blank space. 21var viewportW = marquee.clientWidth; 22var trackW = track.scrollWidth; 23while (trackW < viewportW * 2) { 24var clone = first.cloneNode(true); 25clone.classList.add('is-clone'); 26clone.setAttribute('aria-hidden', 'true'); 27track.appendChild(clone); 28trackW = track.scrollWidth; 29} 30// Distance to animate: the width of the first chunk. 31// When we've shifted by this width, the next clone aligns perfectly. 32var firstWidth = first.scrollWidth; 33// Duration derived from distance & speed (px/s) 34var durationSec = Math.max(1, firstWidth / SPEED_PX_PER_SEC); 35// Apply CSS vars to the track 36track.style.setProperty('--marquee-distance', firstWidth + 'px'); 37track.style.setProperty('--marquee-duration', durationSec + 's'); 38// Optional: reflow on resize so it stays seamless when layout changes 39var resizeTimer; 40window.addEventListener('resize', function() { 41clearTimeout(resizeTimer); 42resizeTimer = setTimeout(function() { 43// Re-run the setup 44track.querySelectorAll('.is-clone').forEach(function(n) { 45n.remove(); 46}); 47// Force a re-measure 48viewportW = marquee.clientWidth; 49trackW = track.scrollWidth; 50while (trackW < viewportW * 2) { 51var c = first.cloneNode(true); 52c.classList.add('is-clone'); 53c.setAttribute('aria-hidden', 'true'); 54track.appendChild(c); 55trackW = track.scrollWidth; 56} 57firstWidth = first.scrollWidth; 58durationSec = Math.max(1, firstWidth / SPEED_PX_PER_SEC); 59track.style.setProperty('--marquee-distance', firstWidth + 'px'); 60track.style.setProperty('--marquee-duration', durationSec + 's'); 61}, 150); 62}); 63}); 64})(); 65// FOOTER SPECIFIC JAVASCRIPT 66<div class = "AuthorizeNetSeal" > < safessscript type = "text/javascript" 67language = "javascript" > 68var ANS_customer_id = "3c8b8e7f-cc0a-4a0a-8741-83bbfa2a590b"; < /safessscript> <safessscript type="text/javascript 69" language=" 70javascript " src=" //verify.authorize.net:443/anetseal/seal.js"></safessscript> </div>
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.