HTML DOM scrollTop 속성
예시
<div> 요소의 콘텐츠가 가로 및 세로로 스크롤되는 픽셀 수를 가져옵니다.
var elmnt = document.getElementById("myDIV");
var x = elmnt.scrollLeft;
var y = elmnt.scrollTop;
아래에서 더 많은 "직접 사용해 보기" 예를 살펴보세요.
정의 및 사용
scrollTop 속성은 요소의 콘텐츠가 세로로 스크롤되는 픽셀 수를 설정하거나 반환합니다.
팁: scrollLeft 속성을 사용 하여 요소 콘텐츠가 가로로 스크롤되는 픽셀 수를 설정하거나 반환합니다.
팁: 요소에 스크롤바를 추가하려면 CSS overflow 속성을 사용하십시오.
팁: onscroll 이벤트 는 요소의 스크롤 막대가 스크롤될 때 발생합니다.
브라우저 지원
Property | |||||
---|---|---|---|---|---|
scrollTop | Yes | Yes | Yes | Yes | Yes |
통사론
scrollTop 속성을 반환합니다.
element.scrollTop
scrollTop 속성을 설정합니다.
element.scrollTop = pixels
속성 값
Value | Description |
---|---|
pixels |
Specifies the number of pixels the element's content is scrolled vertically. Special notes:
|
기술적 세부 사항
반환 값: | 요소의 콘텐츠가 세로로 스크롤된 픽셀 수를 나타내는 숫자 |
---|
더 많은 예
예시
< div > 요소의 내용을 가로로 50픽셀, 세로로 10픽셀로 스크롤합니다.
var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft = 50;
elmnt.scrollTop = 10;
예시
< div > 요소의 내용을 가로로 50픽셀, 세로로 10픽셀 스크롤합니다.
var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft += 50;
elmnt.scrollTop += 10;
예시
<body> 내용을 가로로 30픽셀, 세로로 10픽셀 스크롤합니다.
var body = document.body; // Safari
var html = document.documentElement; //
Chrome, Firefox, IE and Opera places the overflow at the <html> level, unless else is specified. Therefore, we use the
documentElement property for these browsers
body.scrollLeft += 30;
body.scrollTop += 10;
html.scrollLeft += 30;
html.scrollTop += 10;
예시
다른 스크롤 위치에서 클래스 이름 간 전환 - 사용자가 페이지 상단에서 50픽셀 아래로 스크롤하면 클래스 이름 "test"가 요소에 추가되고 다시 위로 스크롤하면 제거됩니다.
window.onscroll = function() {myFunction()};
function myFunction() {
if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {
document.getElementById("myP").className = "test";
} else {
document.getElementById("myP").className = "";
}
}
예시
사용자가 페이지 상단에서 350픽셀 아래로 스크롤한 경우 요소를 밀어넣습니다(slideUp 클래스 추가).
window.onscroll = function() {myFunction()};
function myFunction() {
if (document.body.scrollTop > 350 || document.documentElement.scrollTop > 350) {
document.getElementById("myImg").className = "slideUp";
}
}
예시
스크롤에 삼각형을 그립니다.
<!-- Use SVG to draw the triangle (has to be <path>) -->
<svg id="mySVG">
<path fill="none" stroke="red" stroke-width="3" id="triangle" d="M150 0 L75 200 L225 200 Z">
</svg>
<script>
// Get the id of the <path> element and the length of <path>
var triangle = document.getElementById("triangle");
var length = triangle.getTotalLength();
// The start position of the drawing
triangle.style.strokeDasharray = length;
// Hide the triangle by offsetting dash. Remove this line to show the triangle before scroll draw
triangle.style.strokeDashoffset = length;
// Find scroll percentage on scroll (using cross-browser properties), and offset dash same amount as percentage scrolled
window.addEventListener("scroll", myFunction);
function myFunction() {
var scrollpercent = (document.body.scrollTop + document.documentElement.scrollTop) / (document.documentElement.scrollHeight - document.documentElement.clientHeight);
var draw = length * scrollpercent;
// Reverse the drawing (when scrolling upwards)
triangle.style.strokeDashoffset = length - draw;
}
</script>