본문 바로가기

Webstoryboy

Category

Explanation

JAVASCRIPT/Alphabet

element.scrollIntoView()

element.scrollIntoView()

element.scrollIntoView() 메서드는 선택한 요소를 기준으로 이동하거나 설정합니다. 패럴랙스 스크롤링 효과에서 많이 사용되며, block 속성은 수직 정렬을 의미하고, inline은 수평 정렬, smooth 속성은 부드러운 움직임 효과를 의미합니다.


element.scrollIntoView()

element.scrollIntoView() 메서드는 선택한 요소를 기준으로 이동하거나 설정합니다.

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

문법(Syntax)

element.scrollIntoView()

//스크롤 기본값({block: "start", inline: "nearest"})을 설정한 경우
document.querySelector(".box").scrollIntoView();

//스크롤 true({block: "start", inline: "nearest"})를 설정한 경우
document.querySelector(".box").scrollIntoView(true);

//스크롤 false({block: "end", inline: "nearest"})를 설정한 경우
document.querySelector(".box").scrollIntoView(false);

//스크롤 기본값을 설정한 경우
document.querySelector(".box").scrollIntoView({behavior: "auto", block: "start", inline: "nearest"})

//수직 정렬 시작({block: "start"})을 설정한 경우
document.querySelector(".box").scrollIntoView({block: "start"});

//부드럽게 수직 정렬 끝을 설정한 경우
document.querySelector(".box").scrollIntoView({behavior: "smooth", block: "start"});

//부드럽게 수직 정렬 가운데를 설정한 경우
document.querySelector(".box").scrollIntoView({behavior: "smooth", block: "center"});

//부드럽게 수직 정렬 끝을 설정한 경우
document.querySelector(".box").scrollIntoView({behavior: "smooth", block: "end"});

//부드럽게 수평 정렬 끝을 설정한 경우
document.querySelector(".box").scrollIntoView({behavior: "smooth", inline: "start"});

//부드럽게 수평 정렬 가운데를 설정한 경우
document.querySelector(".box").scrollIntoView({behavior: "smooth", inline: "center"});

//부드럽게 수평 정렬 끝을 설정한 경우
document.querySelector(".box").scrollIntoView({behavior: "smooth", inline: "end"});

속성(Property)

속성값 예시 설명
true scrollIntoView(true) 수직 정렬을 시작({block: "start", inline: "nearest"})으로 설정합니다.
false scrollIntoView(false) 수직 정렬을 끝({block: "end", inline: "nearest"})으로 설정합니다.
behavior scrollIntoView({behavior: "auto"}) 움직임을 기본값으로 설정합니다.
scrollIntoView({behavior: "smooth"}) 움직임을 부드러운 값으로 설정합니다.
block scrollIntoView({block: "start"}) 수직 정렬을 시작(기본값)으로 설정합니다.
scrollIntoView({block: "center"}) 수직 정렬을 가운데로 설정합니다.
scrollIntoView({block: "end"}) 수직 정렬을 끝으로 설정합니다.
scrollIntoView({block: "nearest"}) 수직 정렬을 가까운 곳으로 설정합니다.
inline scrollIntoView({inline: "start"}) 수평 정렬을 시작으로 설정합니다.
scrollIntoView({inline: "center"}) 수평 정렬을 가운데로 설정합니다.
scrollIntoView({inline: "end"}) 수평 정렬을 끝으로 설정합니다.
scrollIntoView({inline: "nearest"}) 수평 정렬을 가까운 곳(기본값)으로 설정합니다.

정의(Definition)

  • element.scrollIntoView() 메서드는 선택한 요소를 기준으로 이동하거나 설정합니다.
  • element.scrollIntoView() 메서드는 패럴랙스 스크롤링 효과에서 많이 사용됩니다.
  • element.scrollIntoView() 메서드의 block 속성은 수직 정렬을 의미하고 inline은 수평 정렬을 의미합니다.
  • element.scrollIntoView() 메서드의 smooth 속성은 움직임을 부드럽게 해줍니다.

스크롤과 관련된 메서드(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)

박스 요소를 기준으로 움직이는 예제입니다.
이 박스를 기준으로 움직입니다.
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;
}

호환성(Compatibility)

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

참고 사이트(Reference)


더보기

인스타그램 보기 바로가기

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

유튜브 영상보기 바로가기