참고 https://webclub.tistory.com/607
// 디바운스
function Event(){
// 스크롤 이벤트 실행 함수 코드
}
let timer;
$(window).scroll(function () {
if(timer){
clearTimeout(timer)
}
timer = setTimeout(()=>{
Event()
},500)
})
//쓰로틀
function Event(){
실행될 함수 코드
}
let timer;
$(window).scroll(function(){
if(!timer){
timer = setTimeout(function(){
timer = null;
Event()
},1000)
}
})
ex) 스크롤 이벤트 setTimeout 10초 설정
디바운싱
→ 모든 스크롤이 끝난 후 이벤트 발생
쓰로틀
→ 스크롤 발생 시 setTimeout 10초 실행, 함수가 끝나기 전 스크롤이 발생해도 이벤트 발생X
*실행 이벤트 밖에 let timer 빼기
'js' 카테고리의 다른 글
[js]마우스 휠 감지 (0) | 2022.08.08 |
---|---|
[js]ajax 기초 공부 (0) | 2022.07.21 |
[js]만 나이 구하기 (0) | 2022.07.08 |
[js]input text 전체 입력 시 버튼 활성화 (0) | 2022.07.06 |
[js]iframe 사용 시 부모 document접근하기(아이프레임) (0) | 2022.06.30 |