Показать сообщение отдельно
  #1 (permalink)  
Старый 06.10.2021, 15:35
DVV DVV вне форума
Кандидат Javascript-наук
Отправить личное сообщение для DVV Посмотреть профиль Найти все сообщения от DVV
 
Регистрация: 26.12.2017
Сообщений: 125

Не работает кнопка прокрутки вверх
Кто может подсказать, в чем проблема. Не работает скрипт плавной прокрутки вверх сайта при клике на кнопку.

export default function scrollToTop() {
    const body = document.getElementsByTagName('body')[0];
    const topArrow = document.querySelector('.top-arrow');
    let scrolled;
	let timer;
    
    body.addEventListener('scroll', function() {
        getWindowScrollTop(this);
    });

    function scrollToTop(){
		if (scrolled > 0) {
			window.scrollTo(0, scrolled);
			scrolled = scrolled - 50;
			timer = setTimeout(scrollToTop, 200);
		}
		else {
			clearTimeout(timer);
			window.scrollTo(0, 0);
		}
	}

    function getWindowScrollTop(el) {

        let cont_top = el.scrollTop ? el.scrollTop : document.body.scrollTop;

        if(cont_top >= 300) {
            topArrow.classList.add('top-arrow--show');
            topArrow.onclick = () => {
                scrolled = window.pageYOffset;
                scrollToTop();
            }
        } else {
            topArrow.classList.remove('top-arrow--show');
        }
    }
}

Последний раз редактировалось DVV, 06.10.2021 в 15:40.
Ответить с цитированием