말 그대로 토스트 기계에서 토스트 구운 것처럼 툭 튀어 올라왔다 내려가는 팝업입니다.
특정 버튼을 클릭하는 등 무슨 동작을 했을 때 변경 점을 직관적으로 알려주기 좋다고 생각해 함수를 만들어 사용하는 중입니다.
HTML
<div id="toast"></div>
CSS
#toast {
position: fixed;
bottom: 30px;
left: 50%;
padding: 15px 20px;
transform: translate(-50%, 10px);
border-radius: 30px;
overflow: hidden;
font-size: .8rem;
opacity: 0;
visibility: hidden;
transition: opacity .5s, visibility .5s, transform .5s;
background: rgba(0, 0, 0, .35);
color: #fff;
z-index: 10000;
}
#toast.reveal {
opacity: 1;
visibility: visible;
transform: translate(-50%, 0)
}
Javascript
let removeToast;
function toast(string) {
const toast = document.getElementById("toast");
toast.classList.contains("reveal") ?
(clearTimeout(removeToast), removeToast = setTimeout(function () {
document.getElementById("toast").classList.remove("reveal")
}, 1000)) :
removeToast = setTimeout(function () {
document.getElementById("toast").classList.remove("reveal")
}, 1000)
toast.classList.add("reveal"),
toast.innerText = string
}
3000이란 수치를 조절하시면 토스트가 사라지는 타이밍을 조절하실 수 있습니다.