1; 2(function () { 3 let $image; 4 let $imgWrappers; 5 let scrollValue; 6 const $imageSelector = '.picture'; 7 $imgWrappers = document.querySelectorAll('.image-wrapper'); 8 9 const doParallax = function () { 10 11 if (isMobile()) { 12 for (let index = 0; index < $imgWrappers.length; index++) { 13 const $imgWrapper = $imgWrappers[index]; 14 const $imgs = $imgWrapper.querySelectorAll($imageSelector); 15 16 for (let i = 0; i < $imgs.length; i++) { 17 const $img = $imgs[i] 18 $img.style.transform = "translateY(0)"; 19 } 20 } 21 return 22 } 23 24 scrollValue = window.scrollY; 25 26 for (let index = 0; index < $imgWrappers.length; index++) { 27 const $imgWrapper = $imgWrappers[index]; 28 29 if ($imgWrapper.classList.contains('noAnimate')) { 30 return 31 } 32 33 34 const $imgs = $imgWrapper.querySelectorAll($imageSelector); 35 36 for (let i = 0; i < $imgs.length; i++) { 37 const $img = $imgs[i] 38 const value = ($img.offsetTop + scrollValue) - $img.offsetTop 39 if (value < 0) { 40 return 41 } 42 43 $img.style.transform = "translateY(" + (value / 2) / 10 + "%)"; 44 } 45 } 46 } 47 48 49 50 document.addEventListener('scroll', doParallax); 51 document.addEventListener("DOMContentLoaded", doParallax); 52})();
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.