1// Scroll-reveal: fade-and-rise elements as they enter the viewport. 2(function () { 3 if (window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches) return; 4 if (!('IntersectionObserver' in window)) return; 5 6 var selectors = [ 7 'header', 8 'section > h2', 9 'section > p', 10 'section > ul > li', 11 '.edu-card', 12 '.about-contact', 13 '.ri-typing', 14 '.ri-axis', 15 '.year-jump', 16 '.publications h2.year', 17 '.publications ol.bibliography > li', 18 '.exp-item', 19 'details.news-more' 20 ]; 21 22 var els = Array.prototype.slice.call( 23 document.querySelectorAll(selectors.join(',')) 24 ); 25 if (!els.length) return; 26 27 els.forEach(function (el) { el.classList.add('rv'); }); 28 29 var io = new IntersectionObserver(function (entries) { 30 entries.forEach(function (e) { 31 if (e.isIntersecting) { 32 e.target.classList.add('rv-in'); 33 io.unobserve(e.target); 34 } 35 }); 36 }, { threshold: 0.08, rootMargin: '0px 0px -30px 0px' }); 37 38 els.forEach(function (el) { io.observe(el); }); 39})();
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.