반응형
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 | 31 |
Tags
- ReactNative
- Oracle
- CSS
- VUE
- 정보처리기사요약
- 국비IT
- 코딩테스트
- 오라클
- 자스코테
- 평일코딩
- 자바스크립트
- 타입스크립트
- spring
- typescript
- javascript
- 이안의평일코딩
- 정보처리기사
- 정보처리기사실기정리
- 자바의정석
- php
- 스프링
- 정보처리기사실기요약
- 정보처리기사실기
- 자바스크립트 코딩테스트
- 국비코딩
- 리액트
- react
- 리액트네이티브
- 정보처리기사정리
- Java의정석
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