• 회원가입
  • 로그인
  • 구글아이디로 로그인

[js] JS - 스크롤 정도/위치 진행바 표시기 (Scroll Indicator Bar)

Scroll Indicator Bar 적용 방법

1. 아래 좌표 코드 참고 (샘플)

 

https://codepen.io/tymoshenkoyelyzaveta/pen/QWyKBJa



2. <body> 태그 바로 아래애 아래 코드 추가

※ G5 basic 테마 경우, /theme/basic/head.sub.php 하단.


<div class="scrolled-indicator">

    <div class="scrolled-indicator-fill">

    </div>

</div>

 


3. CSS 파일 하단에 아래 코드 추가

※ G5 basic 테마 경우, /theme/basic/css/default.css 하단.

 

.scrolled-indicator {

  position: fixed;

  top: 0;

  left: 0;

  width: 100%;

  height: 3px;

  background-color: #333;

  z-index:999;

}


.scrolled-indicator-fill {

  width: 0%;

  height: 100%;

  background-color: #e76f51;

}

 


4. </body> 태그 앞쪽에 아래 JS 코드 추가

※ G5 basic 테마 경우, /theme/basic/tail.php 하단 

 

<script>

const scrolledIndicatorFill = document.querySelector(

  ".scrolled-indicator-fill"

);

const btnScrollToTop = document.querySelector("#btnScrollToTop");


// 스크롤 표시 함수

window.addEventListener("scroll", () => {

  //스크롤 가능 정도

  const scrollable = document.documentElement.scrollHeight - window.innerHeight; // 문서전체높이 - window 높이;

  //스크롤 한 정도를 px단위로 표시

  const scroll = window.scrollY;


  let percentageScrolled = 100;

  // 스크롤 가능 시

  if (scrollable > 0) {

    percentageScrolled = Math.ceil((scroll / scrollable) * 100);

  }


  scrolledIndicatorFill.style.width = `${percentageScrolled}%`;

});

</script>

 

PS. 콘텐츠 열람 집중에 방해되니, 가급적이면 적용하지 마세요.



분류 제목
js JS - 숫자를 한글로 읽기/변환
js JS - 숫자 천자리 표시 기호 쉼표(콤마) 제거 함수 (= getInt함수 = 겟인트함수)
js JS - 랜덤이미지 (= 랜덤배너)
js JS - 텍스트 첫글자만 글자색 변경 (= 맨앞글자 색상 변경)
js JS - 자바스크립트 성능 향상 위한 코드 작성법 (= JavaScript Performance)
DOM_Style JS - aspectRatio 속성 - 요소의 종횡비율(= 가로세로비율) 지정 (= aspectRatio속성…
js JS - with 키워드 - 객체 이용해 구문작성 (= with키워드 = 위드키워드)
js JS - 입력한 패스워드 확인 (보이기/숨기기) 토글 버튼 넣기
js JS - JavaScript로 (SlideUp/SlideDown) (FadeOut/FadeIn) 토글 버튼 …
DOM_Element JS - outerHTML 속성 - 속성, 시작태그, 종료태그 포함한 HTML 요소 설정/반환 (= oute…
Array JS - includes() 메서드 - 배열에 지정값 포함 여부 검사체크 (= includes메서드 = 인클…
js JS - 이미지 위에 마우스허버 시 툴팁창(Tooltip) 띄우기 ※ 클래스 속성값과 동일한 타이틀 속성 생…
Array JS - at() 메서드 - 지정 색인번호의 배열값 반환 (= at메서드 = 엣메서드/앳메서드)
Array JS - entries() 예제 - 객체배열반복자 반환 (= entries메서드 = 엔트리즈메서드)
Array JS - flat() 예제 - 배열 평탄화 (= flat메서드 = 플랫메서드) ※ 중첩배열(=다단계배열)의 …
Array JS - flatMap() 메서드 - 배열 매핑 후 지정함수 적용한 새 평면배열 생성 (= flatMap메서…
Array JS - Array.from() 메서드 - 객체로부터 배열 생성 (= Array.from메서드 = 어레이프럼…
Array JS - keys() 메서드 - 배열키로 구성된 배열 반환 (= keys메서드 = 키즈메서드)
Math JS - Math.log2() 메서드 -
Math JS - Math.log10() 메서드 -
66/67
목록
찾아주셔서 감사합니다. Since 2012