반응형
청춘고양이
배움을 기록하는 곳
청춘고양이
전체 방문자
오늘
어제
  • Hello World (119)
    • JQuery (5)
    • In my opinion (4)
    • HTML&CSS (8)
    • JS (9)
    • JAVA (21)
    • Spring Boot (21)
    • Node.js (1)
    • Linux (7)
    • Git (2)
    • Kotlin (4)
    • Fluttor (4)
    • 정보처리기사 (19)
    • AWS (1)
    • Oracle (8)
    • MySQL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • js 로또 번호
  • ScrollEffectJs
  • 자바db연동
  • css
  • spring 기본설정
  • 제이쿼리 패스워드 변경
  • 청춘고양이
  • 자바
  • 제이쿼리 비밀번호
  • 객체 안의 함수
  • js
  • 중복 제거 로또
  • 쉬프트 연산
  • js 패스워드 변경
  • 스크롤js
  • 제이쿼리 버튼클릭시 색 변경
  • js 비밀번호
  • 초보개발
  • 가위바위보js
  • 제이쿼리

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
청춘고양이
JS

Scroll Effect

Scroll Effect
JS

Scroll Effect

2022. 5. 29. 23:18
반응형

안녕하세요. 오늘은 화면을 스크롤 시 상단 부분을 바뀌는 부분을 JS로 구현해보겠습니다.


SETTING

<body>
    <header class="header">
        <div>
            <a href="#" class="text_active">Home</a>
        </div>
        <ul class="ul">
            <li>
                <a href="#" class="text_active">안녕하세요</a>
            </li>
            <li>
                <a href="#" class="text_active">초보개발자</a>
            </li>
            <li>
                <a href="#" class="text_active">청춘고양이</a>
            </li>
        </ul>
    </header>
    <main>
        <div>안녕하세요</div>
        <div>JS를 통해</div>
        <div>상단</div>
        <div>화면을</div>
        <div>변경해</div>
        <div>보겠습니다.</div>
    </main>
</body>

       .header {
            align-items: center;
            width: 100vw;
            background-color: #111111;
            border-bottom: 3px solid #666665;
            backdrop-filter: blur(5px);
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            font-size: 1.5rem;
            padding-bottom: 2rem;
            padding-top: 2rem;
            position: fixed;
            z-index: 1;
        }

        .header > div{
            padding-left: 3vw;
        }


        .ul {
            align-items: center;
            display: flex;
            flex-direction: row;
            justify-content: center;
        }

        .ul >li > a {
            padding-right: 5vw;
        }

        a:link, a:visited {
            color: #e1e1e9;
            text-decoration: none;
            font-weight: bold;
        }

        body > main {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;

            max-height: 100vh;
            max-width: 100vw;
            height: 100vh;
            position: relative;
            padding-top: 6.25rem;
            background-color: #111111;
        }

        main > div{
            padding-bottom: 2rem;
            color: #e1e1e9;
        }


JS

상단을 잡으려면 scrollY를 이용해서 위에 좌표를 알아내면 됩니다.

콘솔에 scrollY의 값을 찍어냄

110일 때 값을 변경시켜보겠습니다.

const header = document.querySelector('#header');
const textActive = document.querySelectorAll('.text_active');
window.addEventListener('scroll', () => {
    //scrollY 상단 위치의 좌표 값을 알아 낼 수 있음.
    let top = window.scrollY;
    console.log(top);
    if(top>110) {
        //classList.add : html class 속성에 값을 넣어준다.
        //ex) 현재 class ="header" -> class = "header active" 
        //css에서 표현으로 띄우기는 .을 이용한다.
        //가령 header active = .header.active로 선택자 표시 가능 
        header.classList.add('active')

        //각각의 텍스트에 값을 넣어주기 위해 for문 사용
        for(let i=0;i<textActive.length;i++){
            textActive[i].setAttribute('style', 'color : blue');
        }

        //상단 좌표 값이 110이 아니면 원래화면으로 복구
    } else{
        header.classList.remove('active');
        for(let i=0;i<textActive.length;i++){
            textActive[i].setAttribute('style', 'color : #e1e1e9');
        }
    }
});

구현

 

Scroll Effect

 

반응형
저작자표시 (새창열림)

'JS' 카테고리의 다른 글

가위바위보  (0) 2022.06.02
lotto JS  (0) 2022.06.02
Timer  (0) 2022.05.28
Text Effect  (0) 2022.05.27
NodeList  (0) 2022.05.25
  • 안녕하세요. 오늘은 화면을 스크롤 시 상단 부분을 바뀌는 부분을 JS로 구현해보겠습니다.
'JS' 카테고리의 다른 글
  • 가위바위보
  • lotto JS
  • Timer
  • Text Effect
청춘고양이
청춘고양이
신입개발자

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.