Введение
В этом практическом занятии (lab) мы рассмотрим, как создать полосу прогресса прокрутки с использованием HTML, CSS и JavaScript. Полоса прогресса прокрутки - это отличный способ показать текущую позицию пользователя на странице и сколько еще контента осталось просмотреть. К концу этого практического занятия вы лучше поймете, как реализовать эту функцию на своем веб - сайте.
Полоса прогресса прокрутки
index.html и style.css уже предоставлены в виртуальной машине (VM).
Для создания полосы прогресса, которая показывает процент прокрутки веб - страницы, следуйте этим шагам:
- Добавьте элемент
divсid"scroll-progress" в HTML - код. - В CSS - коде установите
positionэлемента вfixed,topв0,widthв0%,heightв4pxи цветbackgroundв#7983ff. - Установите значение
z - indexбольшим числом, чтобы убедиться, что полоса прогресса находится вверху страницы и над любым контентом. - В JavaScript - коде выберите элемент
scroll - progressс помощью методаdocument.getElementById(). - Вычислите высоту веб - страницы по формуле
document.documentElement.scrollHeight - document.documentElement.clientHeight. - Добавьте слушатель события к объекту
window, который отслеживает событиеscroll. - В функции слушателя события вычислите процент прокрутки документа по формуле
(scrollTop / height) * 100. - Установите
widthэлементаscroll - progressравным проценту прокрутки с помощью свойстваstyle.
Вот код:
<div id="scroll-progress"></div>
#scroll-progress {
position: fixed;
top: 0;
width: 0%;
height: 4px;
background: #7983ff;
z-index: 10000;
}
const scrollProgress = document.getElementById("scroll-progress");
const height =
document.documentElement.scrollHeight - document.documentElement.clientHeight;
window.addEventListener("scroll", () => {
const scrollTop =
document.body.scrollTop || document.documentElement.scrollTop;
scrollProgress.style.width = `${(scrollTop / height) * 100}%`;
});
Нажмите на кнопку 'Go Live' в правом нижнем углу, чтобы запустить веб - сервис на порту 8080. Затем вы можете обновить вкладку Web 8080, чтобы предварительно просмотреть веб - страницу.
Итог
Поздравляем! Вы завершили практическое занятие (lab) по созданию полосы прогресса прокрутки. Вы можете попрактиковаться в других практических занятиях в LabEx, чтобы улучшить свои навыки.