ວິງວາງການສ້າງ: Snackbar / Toast

ບັນຕາການສຶກສາການນຳໃຊ້ CSS ແລະ JavaScript ໃນການສ້າງ Snackbar/Toast.

Snackbar / Toast

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 ແມ່ນ 125px */
  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);
}

亲自试一试