css+js)display:none 애니메이션 효과
2022. 5. 16. 15:12ㆍCSS
HTML
<div class="trigger">클릭하면 display:none을 block로 변경</div>
<div class="hidden">display:none/block 처리 될 영역</div>
CSS
.hidden {
display: none;
}
.appear {
animation: fade-in 1s;
animation-fill-mode: forwards;
display: block;
}
.disappear {
animation: fade-out 1s;
animation-fill-mode: forwards;
}
@keyframes fade-in {
from {opacity: 0;}
to {opacity: 1;}
}
@keyframes fade-out {
from {opacity: 1;}
to {opacity: 0;}
}
JS
const button = document.querySelector('.trigger');
const onOffBox = document.querySelector('.hidden');
button.addEventListener('click', function(){
if(onOffBox.classList.contains('hidden')){
onOffBox.classList.remove('hidden','disappear');
onOffBox.classList.add('appear');
} else {
onOffBox.classList.add('hidden','disappear');
setTimeout(function(){onOffBox.classList.remove('appear')},1000);
}
});
참고 사이트
'CSS' 카테고리의 다른 글
svg파일 색깔 바꾸기 (hover 등) (0) | 2022.05.20 |
---|---|
input type="date" 달력 아이콘 변경하기 (0) | 2022.05.18 |
드래그&우클릭 방지 (0) | 2022.05.10 |
특정 영역만 가로 스크롤 생성 (+스크롤 기능은 하되 스크롤 없애기) (0) | 2022.05.09 |
형광펜 효과 (0) | 2022.05.06 |