1document.addEventListener('DOMContentLoaded', function () { 2 var section = document.querySelector('.enterprises-section'); 3 if (!section) return; 4 5 var logoItems = section.querySelectorAll('.enterprises-logo-item'); 6 7 // Initial state for animation 8 logoItems.forEach(function (item, index) { 9 item.style.opacity = '0'; 10 item.style.transform = 'translateY(16px)'; 11 item.style.transitionDelay = (index * 60) + 'ms'; 12 }); 13 14 var hasAnimated = false; 15 16 function revealLogos() { 17 if (hasAnimated) return; 18 hasAnimated = true; 19 20 logoItems.forEach(function (item) { 21 item.style.transition = 'opacity 0.5s ease, transform 0.5s ease'; 22 item.style.opacity = '0.85'; 23 item.style.transform = 'translateY(0)'; 24 }); 25 } 26 27 if ('IntersectionObserver' in window) { 28 var observer = new IntersectionObserver(function (entries) { 29 entries.forEach(function (entry) { 30 if (entry.isIntersecting) { 31 revealLogos(); 32 observer.disconnect(); 33 } 34 }); 35 }, { threshold: 0.2 }); 36 37 observer.observe(section); 38 } else { 39 // Fallback for older browsers 40 revealLogos(); 41 } 42});
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.