가끔 구글링 중 특정 블로그를 들어가면 스크롤 할 때마다 바가 채워지는 UI가 있다. 그거 만드는게 생각보다 간단하더라.
let scroll = document.querySelector('html').scrollTop;
let client = document.querySelector('html').clientHeight;
let scrollHeight = document.querySelector('html').scrollHeight;
let gauge = scrollHeight - client;
let gaugePer = (scroll / gauge) * 100;
전체 소스는
window.addEventListener('scroll', function(){
let scroll = document.querySelector('html').scrollTop;
let client = document.querySelector('html').clientHeight;
let scrollHeight = document.querySelector('html').scrollHeight;
let gauge = scrollHeight - client;
let gaugePer = (scroll / gauge) * 100;
document.querySelector('.scroll-bar').style.width = gaugePer + '%';
});
(!) .scroll-bar는 실제 가변하는 bar의 width를 class로 준 것.
부모의 div width를 100%로 두고, 내부에 바의 자리를 잡아주면 될 듯