티스토리 뷰
See the Pen [JS] scrollY() / scrollTo() / scrollBy() by mill (@millfeel) on CodePen.
scrollY() (=window.pageYOffset)
Window 인터페이스의 scrollY 읽기 전용 속성은 문서가 수직으로 얼마나 스크롤됐는지 픽셀 단위로 반환한다.
var y = window.scrollY
Q. window.pageYOffset과 window.scrollY의 차이는?
- 호환성에서 차이가 있다.
- window.pageYOffset가 호환성이 약간 더 좋다.
- 공통으로 IE8은 지원하지 않는다.
scrollBy()
기존 스크롤 값에 설정한 값만큼 + / - 된다.
// 대상이 window
window.scrollBy(x, y);
window.scrollBy({ // 값이 옵션인 경우
top: y,
left: x,
behavior: 'smooth'
});
// 대상이 element
element.scrollBy(x, y);
element.scrollBy({ // 값이 옵션인 경우
top: y,
left: x,
behavior: 'smooth'
});
[주의] 값은 모두 픽셀로 설정돼 있기 때문에 "숫자"만 입력한다.
Q. 옵션을 설정한것과 아닌것에 차이가 있나요?
첨부한 코드펜의 버튼을 클릭해서 차이를 비교해보자.
- 옵션이 없는 경우, 좌표 값이 이동할 때 뚝뚝 끊기는 느낌
- 옵션이 있는 경우, 좌표 값이 이동할 때 부드러운 느낌
scrollTop() (=scroll())
설정한 값으로 "이동"한다. 옵션은 scrollBy()의 옵션 설명과 동일하다.
// 대상이 window
window.scrollTo(x, y);
window.scrollTo({ // 값이 옵션인 경우
top: y,
left: x,
behavior: 'smooth'
});
// 대상이 element
element.scrollTo(x, y);
element.scrollTo({ // 값이 옵션인 경우
top: y,
left: x,
behavior: 'smooth'
});
[주의] 값은 모두 픽셀로 설정돼 있기 때문에 "숫자"만 입력한다.
Q. window.scrollTop()과 window.scroll()의 차이는?
MDN Window.scroll()를 보면 "사실상 동일하다"고 기술돼 있다.
*element.scroll()에는 동일하다고 적혀있지 않음. 비교해 보는건 나중에 시간이 될 때...
*참고로 scroll()에도 동일한 옵션 기능이 있다.
[공부좌표]
'이론 > JS' 카테고리의 다른 글
[JS] 로드했을 때 input에 포커스 되게 하는 방법 focus() (0) | 2021.04.28 |
---|---|
[JS] 아스키코드를 문자로 변환하는 방법 String.fromCharCode() (0) | 2021.04.21 |
[JS] 정수와 단위를 함께 쓸 경우 숫자만 추출하는 parseInt() (0) | 2021.04.19 |
[JS] Array.prototype.join() (0) | 2021.04.14 |
[JS] String.prototype.indexOf() (0) | 2021.04.14 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- offsetHeight
- 불일치 연산자
- constructor
- 부등 연산자
- scrollTop
- 링크막기 #a링크막기
- outerHeight
- __proto__
- 객체의 프로퍼티
- prototype 프로퍼티
- 점 표기법
- [[Prototype]]
- clinetTop
- innerHeight
- 동치 연산자
- scrollHeight
- 프로퍼티
- 대괄포 표기법
- 동등 연산자
- 일치 연산자
- property
- @font-face
- clientHeight
- offsetTop
- javascript class
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함