เรียนรู้วิธีการสร้าง: Snackbar / Toast
เรียนรู้วิธีการใช้ CSS และ JavaScript ที่จะสร้าง Snackbar/Toast
Snackbar / Toast
Snackbar ทั่วไปถูกใช้เป็นสไตล์ของโทรปก/ตัวแสดงข้อความที่แสดงขึ้นที่ลาดตรงล่างของหน้าจอ
คลิกปุ่มเพื่อแสดง Snackbar มันจะหายไปหลังจาก 3 วินาที
Some text some message..
สร้าง Snackbar
ขั้นที่ 1 - เพิ่ม HTML:
<!-- ใช้ปุ่มเปิด snackbar --> <button onclick="myFunction()">Show Snackbar</button> <!-- snackbar ที่ใช้งาน --> <div id="snackbar">Some text some message..</div>
ขั้นที่ 2 - เพิ่ม CSS:
ตั้งรูปแบบ snackbar และเพิ่มอนุภาพ:
/* snackbar - จัดตั้งตำแหน่งในลาดตรงล่างและกลางจอ */ #snackbar { visibility: hidden; /* ซ่อนโดยมาตราฐาน แสดงเมื่อคลิก */ min-width: 250px; /* ตั้งค่าความกว้างของมาตราฐาน */ margin-left: -125px; /* แบ่งค่า min-width ให้เท่ากัน */ background-color: #333; /* สีพื้นหลังดำ */ color: #fff; /* สีข้อความขาว */ text-align: center; /* ตั้งตำแหน่งข้อความในกลาง */ border-radius: 2px; /* หลายเหลี่ยมโค้ง */ padding: 16px; /* 内边距 */ position: fixed; /* 固定在屏幕顶部 */ z-index: 1; /* 如果需要,添加z-index */ left: 50%; /* 将snackbar居中 */ bottom: 30px; /* 距离底部 30px */ } /* 单击按钮时显示 snackbar(使用 JavaScript 添加的类) */ #snackbar.show { visibility: visible; /* Show the snackbar */ /* 添加动画:用0.5秒淡入和淡出 snackbar。但是,将淡出过程延迟 2.5 秒。 */ -webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s; animation: fadein 0.5s, fadeout 0.5s 2.5s; } /* 淡入和淡出 snackbar 的动画 */ @-webkit-keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} } @keyframes fadein { from {bottom: 0; opacity: 0;} to {bottom: 30px; opacity: 1;} } @-webkit-keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} } @keyframes fadeout { from {bottom: 30px; opacity: 1;} to {bottom: 0; opacity: 0;} }
第三步 - 添加 JavaScript:
使用 JavaScript 通过点击按钮向 snackbar 容器添加 "show" 类:
function myFunction() { // 获取 snackbar DIV var x = document.getElementById("snackbar"); // 向 DIV 添加 "show" 类 x.className = "show"; // 3秒后,从 DIV 中删除 "show" 类 setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000); }