D0r11s (обсуждение | вклад) м (D0r11s переименовал страницу Участник:D0r11s/vector.js в Участник:D0r11s/Агентство Национальной Безопасности.js) |
D0r11s (обсуждение | вклад) м (D0r11s переименовал страницу Участник:D0r11s/Агентство Национальной Безопасности.js в Участник:D0r11s/common.js) |
(нет различий)
|
Версия от 17:21, 2 августа 2024
const animItems = document.querySelectorAll('._anim_items'); if(animItems.length > 0){ window.addEventListener('scroll', animOnScroll); function animOnScroll(params) { for (let index=0; index < animItems.length; index++) { const animItem = animItems[index]; const animItemHeight = animItem.offsetHeight; const animItemOffset = offset(animItem).top; const animStart = 4; let animItemPoint = window.innerHeight - animItemHeight / animStart; if(animItemHeight > window.innerHeight){ animItemPoint = window.innerHeight - window.innerHeight / animStart; } if((pageYOffset > animItemOffset - animItemPoint) && pageYOffset < (animItemOffset + animItemHeight)){ animItem.classList.add('_active'); } else { animItem.classList.remove('_active'); } } } function offset(e1) { const rect = e1.getBoundingClientRect(), scrollLeft = window.pageXOffset || document.documentElement.scrollLeft, scrollTop = window.pageYOffset || document.documentElement.scrollTop; return { top: rect.top + scrollTop, left: rect.left + scrollLeft } } animOnScroll(); }