본문 바로가기

Webstoryboy

Category

Explanation

JAVASCRIPT/Alphabet

element.scrollTop

element.scrollTop

element.scrollTop 요소는 선택한 요소의 세로 스크롤 값을 가져오거나 설정합니다. element.scrollTop 속성은 박스 요소의 스크롤 값을 구하고 window.scrollY 속성은 브라우저의 스크롤 값을 구하는데 차이가 있으며, 부모 박스 안에 작은 박스가 크고 overflow 속성이 있을 때 스크롤 값을 구할 수 있습니다.


element.scrollTop

element.scrollTop 요소는 선택한 요소의 세로 스크롤 값을 가져오거나 설정합니다.

특징 설명
유형(type) element
버전(version) --
결과값(return) None(undefined)
사용성 ★★★☆☆

문법(Syntax)

element.scrollTop

//속성 값을 가져오는 경우
document.getElementById("div").scrollTop;

//속성 값을 설정하는 경우
document.getElementById("div").scrollTop = 500;

정의(Definition)

  • element.scrollTop 속성은 선택한 요소의 세로 스크롤 값을 가져오거나 설정합니다.
  • element.scrollTop 속성은 박스 요소의 스크롤 값을 구하고 window.scrollY 속성은 브라우저의 스크롤 값을 구하는데 차이가 있습니다.
  • element.scrollTop 속성은 부모 박스 안에 작은 박스가 크고 overflow 속성이 있을 때 스크롤 값을 구할 수 있습니다.
  • element.scrollTop 속성은 스크롤 좌표 값을 가져올 수도 있고, 변경도 할 수 있습니다.

스크롤과 관련된 메서드(Scroll Related method)

  • window.pageXOffset 속성은 선택한 요소의 가로 스크롤 값(브라우저 기준)을 가져옵니다.
  • window.pageYOffset 속성은 선택한 요소의 세로 스크롤 값(브라우저 기준)을 가져옵니다.
  • window.scrollX 속성은 선택한 요소의 가로 스크롤 값(브라우저 기준)을 가져옵니다.
  • window.scrollY 속성은 선택한 요소의 세로 스크롤 값(브라우저 기준)을 가져옵니다.
  • window.scroll() 메서드는 선택한 요소에 스크롤 값을 설정합니다.
  • window.scrollTo() 메서드는 선택한 요소에 스크롤 값(상대 위치)을 설정합니다.
  • window.scrollBy() 메서드는 선택한 요소에 스크롤 값(절대 위치)을 설정합니다.
  • element.scrollLeft 속성은 선택한 요소에 가로 스크롤 값을 가져오거나 설정합니다.
  • element.scrollTop 속성은 선택한 요소에 세로 스크롤 값을 가져오거나 설정합니다.
  • element.scrollIntoView() 메서드는 선택한 요소를 기준으로 이동하거나 설정합니다.

위치 및 스크롤과 관련된 메서드(Position & Scroll Related method) - jQuery

  • offset() 메서드는 선택한 요소의 위치 좌표 값(문서 기준)을 가져오거나 설정합니다.
  • position() 메서드는 선택한 요소의 위치 좌표 값(기준점 기준)을 가져오거나 설정합니다.
  • scrollLeft() 메서드는 선택한 요소의 가로 스크롤 값(브라우저 기준)을 가져오거나 설정합니다.
  • scrollTop() 메서드는 선택한 요소의 세로 스크롤 값(브라우저 기준)을 가져오거나 설정합니다.

예제1(Sample)

박스 요소의 스크롤 위치 값을 구하는 예제입니다.
박스 안에서 스크롤 한번 해볼래?
0 px / 0 px
박스 안에서 스크롤을 하면 좌표 값을 표시합니다.
HTML
CSS
SCRIPT
<div class="jsample">
    <div class="box">
        <div class="small-box">
            <span>박스 안에서 스크롤 한번 해볼래?</span>
        </div>
    </div>
    <div class="desc">
        <span class="h">0</span> px / 
        <span class="v">0</span> px
    </div>
</div>
.jsample {
    text-align: center;
}
.jsample .box {
    margin: 20px auto;
    width: 400px;
    height: 200px;
    background-color: #ddedff;
    border: 1px solid #4390E1;
    color: #4390E1;
    padding: 20px;
    position: relative;
    overflow: auto;
}
.jsample .small-box {
    width: 500px;
    height: 260px;
    background-color: #A2CBFA;
    border: 1px dashed #4390E1;
    display: flex;
    align-items: center;    
    justify-content: center;
}
.jsample .box span {
    color: #fff;
}
.jsample .desc {
    color: #4390E1;
}
const box = document.querySelector("#sample1 .jsample .box");

    box.addEventListener("scroll", () => {
        const x = box.scrollLeft;
        const y = box.scrollTop;

        document.querySelector("#sample1 .jsample .desc .h").innerHTML = x.toFixed();
        document.querySelector("#sample1 .jsample .desc .v").innerHTML = y.toFixed();
    });

예제2(Sample)

박스 요소의 스크롤 위치 값을 변경하는 예제입니다.
small-box
HTML
CSS
SCRIPT
<div class="jsample">
    <div class="box">
        <div class="small-box">
            <span>박스 안에서 스크롤 한번 해볼래?</span>
        </div>
    </div>
    <div class="desc">
        <span class="h">0</span> px / 
        <span class="v">0</span> px
    </div>
</div>
.jsample {
    text-align: center;
}
.jsample .box {
    margin: 20px auto;
    width: 400px;
    height: 200px;
    background-color: #ddedff;
    border: 1px solid #4390E1;
    color: #4390E1;
    padding: 20px;
    position: relative;
    overflow: auto;
}
.jsample .small-box {
    width: 500px;
    height: 260px;
    background-color: #A2CBFA;
    border: 1px dashed #4390E1;
    display: flex;
    align-items: center;    
    justify-content: center;
}
.jsample .box span {
    color: #fff;
}
.jsample .desc {
    color: #4390E1;
}
document.querySelector("#sample2 .sampleBtn .btn0").addEventListener("click", (e) => {
    e.preventDefault();
    document.querySelector("#sample2 .jsample .box").scrollLeft = 0;
    document.querySelector("#sample2 .jsample .box").scrollTop = 0;
});
document.querySelector("#sample2 .sampleBtn .btn1").addEventListener("click", (e) => {
    e.preventDefault();
    document.querySelector("#sample2 .jsample .box").scrollLeft = 100;
});
document.querySelector("#sample2 .sampleBtn .btn2").addEventListener("click", (e) => {
    e.preventDefault();
    document.querySelector("#sample2 .jsample .box").scrollTop = 100;
});
document.querySelector("#sample2 .sampleBtn .btn3").addEventListener("click", (e) => {
    e.preventDefault();
    document.querySelector("#sample2 .jsample .box").scrollLeft += 10;
});
document.querySelector("#sample2 .sampleBtn .btn4").addEventListener("click", (e) => {
    e.preventDefault();
    document.querySelector("#sample2 .jsample .box").scrollTop += 10;
});

호환성(Compatibility)

크롬 아이콘 파이어폭스 아이콘 사파리 아이콘 오페라 아이콘 네이버 웨일 익스플로러6 아이콘6 익스플로러7 아이콘7 익스플로러8 아이콘8 익스플로러9 아이콘9 익스플로러10 아이콘10 익스플로러11 아이콘11 엣지 아이콘 안드로이드 아이콘 ios 아이콘
element.scrollTop

참고 사이트(Reference)


더보기

인스타그램 보기 바로가기

포트폴리오 스터디 바로가기

유튜브 영상보기 바로가기