Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- leetcode문제풀이
- 자바스크립트 문제풀이
- 프론트엔드
- NPM
- JavaScript
- 리액트
- Baekjoon
- 타입스크립트
- 자바스크립트
- 리액트쿼리
- JS
- 자바스크립트 문제
- 자바스크립트 알고리즘 문제
- Next
- 제로베이스
- HTML
- leetcode
- 알고리즘문제풀이
- 자바스크립트 알고리즘
- 자바스크립트코딩테스트
- react
- 프로그래머스
- Next.js13
- CSS
- stack문제
- til
- 자바스크립트 연결리스트
- next13
- 자바스크립트 문제 풀이
- lodash
Archives
- Today
- Total
코드노트
스크롤 상단 고정 네비게이션 본문
function scroll() {
const header = document.querySelector("header"); //
const maxheight = header.clientHeight; //
document.addEventListener("scroll", onScroll, { passive: true });
function onScroll() {
const scrollLocation = document.documentElement.scrollTop;
const bar = document.querySelector(".scroll_search");
if (maxheight <= scrollLocation) {
bar.classList.add("fix");
bar.style.display = "block";
} else {
bar.style.display = "none";
bar.classList.remove("fix");
}
}
}
scroll();
clientHeight : 요소의 내부 높이 ( 패딩값 포함 /스크롤바, 테두리 마진 제외)
- offsetHeight : 요소 내부 높이 ( 패딩값, 스크롤바, 테두리(border) 포함 / 마진 제외)
- scrollHeight : 요소 컨텐츠의 전체 높이 ( 패딩값, 스크롤바 포함 / 마진 제외
passive: true : false일 경우에는 touchstart, touchmove 와 같은 이벤트가 발생할 때 preventDefault로 실제 이벤트 자체를 막을 수 있다. 브라우저는 scroll이 계속 진행되는지 매번 감시한다.
true일 경우에는 preventDefault를 이용하여 scroll이벤트를 막지 않겠다는 의미.
* chrome 54+부터는 기본값이 true 사용안해도됨
scrollTop : 현재 스크롤 위치, 브라우저 상단에서 현재 스크롤까지 이동한 값
'Code note > 자바스크립트' 카테고리의 다른 글
Intersection Observer API 사용방법 (0) | 2023.01.09 |
---|---|
자바스크립트 클래스 super 키워드 이해하기 (0) | 2023.01.03 |
자바스크립트 클래스 정리 (0) | 2022.12.24 |
자바스크립트 실행 컨텍스트 Execution context 정리 (0) | 2022.12.22 |
자바스크립트 this 이해하기 (1) | 2022.12.21 |