Прокрутка страницы вверх на Javascript

Сверстаем кнопку, расположив ее перед закрывающимся тегом </body>, либо в любом удобном для вас месте:

<div id="scrollToTop" onclick="goUp();">ВВЕРХ </div>

Стили для созданной кнопки:

#scrollToTop {
 position: fixed;
 bottom: 20px;
 right: 20px;
 font-weight: bold;
 cursor: pointer;
 opacity: 0;
 transition: all 0.5s ease-in;
}

Кнопка будет расположена в правом нижнем углу.

Скрипт, который убирает прозрачность кнопки при прокрутке экрана на высоту видимой области окна и возвращает ее в обратном случае:

 window.onscroll = function() {
    let scrollElem = document.getElementById("scrollToTop");
if (document.documentElement.scrollTop > document.documentElement.clientHeight) {
scrollElem.style.opacity = "1";
} else {
scrollElem.style.opacity = "0";
}
}

Скрипт, осуществляющий прокрутку к началу экрана при клике на кнопку:

let timeOut;
function goUp() {
var top = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
if(top > 0) {
window.scrollBy(0,-100);
timeOut = setTimeout('goUp()',20);
} else clearTimeout(timeOut);
}

Функция goUp() запускается при клике на div#scrollToTop и затем запускается с определенным промежутком (20мс) до тех пор пока высота от верха окна не будет равна 0. Промежуток необходим для придания плавности прокрутки.


bitrixone © 2024