Как создать индикатор прокрутки с помощью HTML CSS и JavaScript
Индикатор прокрутки используется для указания положения страницы, которую вы просматриваете в данный момент, в прокручиваемом элементе. Он позволяет определить, где вы находитесь на странице. Концепция довольно старая и была реализована во многих интерактивных приложениях.
Пример индикатора прокрутки.
Прокрути страницу в браузере (вариант 1) / прокрути этот блок (вариант 2).
Единство стиля в дизайне подразумевает узнаваемость, а не скучный шаблонный вид для всех разделов, рубрик, страниц сайта. Узнаваемость выражается в стиле, деталях оформления и необходима для продвижения бренда, а набор отличных по дизайну страниц нельзя назвать стильным дизайном
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
15
end
Индикатор прокрутки в окне браузера HTML CSS и JavaScript
HTML
<div id="myBarP"></div>
CSS
<style>
#myBarP{position:fixed; top:0; left:0; height:.2rem; background:linear-gradient(to right,rgba(191,95,103,0.81), rgba(69,143,146,0.6), rgba(191,95,103,0.81)); width:0; max-width:100%; min-width:0;z-index:100; transition:width .2s ease-out}
</style>
JavaScript
<script>
window.onscroll = function () {
myFunction();
};
function myFunction() {
var winScroll =
document.body.scrollTop || document.documentElement.scrollTop;
var height =
document.documentElement.scrollHeight -
document.documentElement.clientHeight;
var scrolled = (winScroll / height) * 100;
document.getElementById("myBarP").style.width = scrolled + "%";
}
</script>
Индикатор прокрутки в отдельном на странице блоке <div></div> HTML CSS и JavaScript
HTML
Размещаем в выброном блоке для индикации
<div id="myBarPScrollIndicator"></div>
CSS
<style>
#myBarPScrollIndicator {position:sticky; position:-webkit-sticky; top:0; height:.6rem; background:linear-gradient (to right,rgba(191,95,103,0.81),rgba(69,143,146,0.6),rgba(191,95,103,0.81));width:0; max-width:100%; min-width:0; z-index:100; transition:width .2s ease-out}
</style>
JavaScript
#sectionScrollIndicator - id блока в котором будет индикатор / полоса прокрутки.
<script>
document.getElementById("sectionScrollIndicator").onscroll = function () {
myFunction22();
};
function myFunction22() {
const winScroll = document.getElementById("sectionScrollIndicator")
.scrollTop;
const height =
document.getElementById("sectionScrollIndicator").scrollHeight -
document.getElementById("sectionScrollIndicator").clientHeight;
const scrolled = (winScroll / height) * 100;
document.getElementById("myBarPScrollIndicator").style.width =
scrolled + "%";
}
</script>
Комментарии