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 | 29 | 30 |
Tags
- 타입좁히기
- 반복줄이기
- utilty type
- 2022
- 타입스크립트
- const 단언문
- 개발콘텐츠
- 레이아웃쪼개기
- react
- 제네릭
- 성능최적화
- 티스토리꾸미기
- reactjs
- typescript
- 폰트적용하기
- 누구나 자료구조와 알고리즘
- javascript
- click and drag
- React Native
- Chart.js
- vue.js
- NonNullable
- returnType
- 리액트
- React.js
- 커스텀
- JS console
- CSS
- 공통컴포넌트
- TSDoc
Archives
- Today
- Total
몽땅뚝딱 개발자
[Javascript] 모바일에서 스크롤 이벤트 적용하기 본문
◽ PC
window.addEventListener('scroll', handleScrollEvent) // 스크롤 할 때
window.addEventListener('wheel', handleScrollEvent) // 휠을 움직일 때
◽ 모바일
window.addEventListener('touchmove', handleScrollEvent)
그리고 디바운스(debounce)와 비슷한 느낌의 스로틀(throttle)이 있다.
스크롤 이벤트에서는 스로틀을 많이 적용한다고 한다.
- 디바운스: 연속적인 이벤트가 발생하는 경우, 가장 마지막으로 호출된 시점 이후로 일정시간이 지난 후 한번만 실행
- 스로틀: 일정 시간 간격으로 최대 한 번만 실행
◽ 스로틀 사용하기
window.addEventListener('touchmove', throttle(handleScrollEvent, 100))
// 스로틀 이벤트
const throttle = (fn, delay) => {
let timer
return function () {
if (!timer) {
timer = setTimeout(() => {
timer = null
fn.apply(this, arguments)
}, delay)
}
}
}
개인적으로 공부한 내용을 정리하는 블로그로
잘못된 개념을 게시하지않도록 주의하고 있으나 오류가 있을 수 있습니다.
'Development > Javascript' 카테고리의 다른 글
[JavaScript] for문의 여러 형태 (0) | 2022.11.17 |
---|---|
[Javascript] Array 중복제거하기 (0) | 2022.10.03 |
[Javascript] 색상코드를 rgba로 변환 / 색상에 투명도 주기 (0) | 2022.08.20 |
[Javascript] 세자리마다 콤마(,) 붙이기 / 정규식 (0) | 2022.08.20 |
[Javascript/ES6+] 전개연산자 / ... (0) | 2022.08.20 |
Comments