반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 자스코테
- 국비코딩
- 평일코딩
- Oracle
- ReactNative
- 국비IT
- 스프링
- 자바스크립트 코딩테스트
- 정보처리기사
- react
- 정보처리기사요약
- 자바의정석
- 코딩테스트
- php
- 리액트
- spring
- 정보처리기사정리
- 리액트네이티브
- 자바스크립트
- 정보처리기사실기요약
- javascript
- 이안의평일코딩
- Java의정석
- 오라클
- 정보처리기사실기
- CSS
- 타입스크립트
- VUE
- 정보처리기사실기정리
- typescript
Archives
- Today
- Total
이안의 평일코딩
[Vue] 스크롤 시 헤더 색 변경 본문
반응형
1. 먼저 data에 scrollPosition을 null값으로 넣어준다.
2. updateScroll()이라는 메소드를 통해 현재 윈도우의 스크롤 위치를 scrollPosition에 저장한다.
3. mounted를 통해 위의 updateScroll()이 발생하도록 한다.
4. 해당하는 div에 2가지 조건을 넣는다.
5. <style>에 조건 별로 어떻게 다르게 보일지 스타일한다.
<template>
<div :class="{original_color: scrollPosition < 100, change_color: scrollPosition > 100}">
<p class="h-title">제목</p>
</div>
</template>
<script>
export default {
name: 'Header',
data(){
return{
scrollPosition: null
}
},
methods: {
updateScroll(){
this.scrollPosition = window.scrollY
}
},
mounted(){
window.addEventListener('scroll', this.updateScroll);
},
}
</script>
<style>
.original_color {
position: fixed;
background-color: black;
width: 100%;
height: 100px;
top: 0;
border-bottom: 1px solid #EBEBEB;
}
.change_color {
position: fixed;
background-color: white;
width: 100%;
height: 100px;
top: 0;
border-bottom: 1px solid #EBEBEB;
}
</style>
반응형
'Front-end > Vue' 카테고리의 다른 글
[Vue] props 대신 slot을 써보자 (0) | 2021.05.14 |
---|---|
[Vue] 이미지 업로드 및 불러오기 (0) | 2021.05.14 |
[Vue] 더보기 버튼 기능 구현하기 (axios로 ajax 요청) (0) | 2021.04.19 |
[Vue] 이미지 집어넣기 {backgroundImage : `url(${})`} (0) | 2021.04.19 |
[Vue] Vue의 기초(11) - URL 파라미터, Nested routes, router push (1) | 2021.04.16 |
Comments