toast.html 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1">
  6. <link href="../../../dist/css/bootstrap.min.css" rel="stylesheet">
  7. <title>Toast</title>
  8. <style>
  9. .notifications {
  10. position: absolute;
  11. top: 10px;
  12. right: 10px;
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <div class="container">
  18. <h1>Toast <small>Bootstrap Visual Test</small></h1>
  19. <div class="row mt-3">
  20. <div class="col-md-12">
  21. <button id="btnShowToast" class="btn btn-primary">Show toast</button>
  22. <button id="btnHideToast" class="btn btn-primary">Hide toast</button>
  23. </div>
  24. </div>
  25. </div>
  26. <div class="notifications">
  27. <div id="toastAutoHide" class="toast" role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="2000">
  28. <div class="toast-header">
  29. <span class="d-block bg-primary rounded me-2" style="width: 20px; height: 20px;"></span>
  30. <strong class="me-auto">Bootstrap</strong>
  31. <small>11 mins ago</small>
  32. </div>
  33. <div class="toast-body">
  34. Hello, world! This is a toast message with <strong>autohide</strong> in 2 seconds
  35. </div>
  36. </div>
  37. <div class="toast" data-bs-autohide="false" role="alert" aria-live="assertive" aria-atomic="true">
  38. <div class="toast-header">
  39. <span class="d-block bg-primary rounded me-2" style="width: 20px; height: 20px;"></span>
  40. <strong class="me-auto">Bootstrap</strong>
  41. <small class="text-muted">2 seconds ago</small>
  42. <button type="button" class="ms-2 mb-1 btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
  43. </div>
  44. <div class="toast-body">
  45. Heads up, toasts will stack automatically
  46. </div>
  47. </div>
  48. </div>
  49. <script src="../../dist/dom/event-handler.js"></script>
  50. <script src="../../dist/dom/manipulator.js"></script>
  51. <script src="../../dist/dom/data.js"></script>
  52. <script src="../../dist/base-component.js"></script>
  53. <script src="../../dist/toast.js"></script>
  54. <script>
  55. window.addEventListener('load', function () {
  56. Array.from(document.querySelectorAll('.toast'))
  57. .forEach(function (toastNode) {
  58. new Toast(toastNode)
  59. })
  60. document.getElementById('btnShowToast').addEventListener('click', function () {
  61. Array.from(document.querySelectorAll('.toast'))
  62. .forEach(function (toastNode) {
  63. var toast = Toast.getInstance(toastNode)
  64. toast.show()
  65. })
  66. })
  67. document.getElementById('btnHideToast').addEventListener('click', function () {
  68. Array.from(document.querySelectorAll('.toast'))
  69. .forEach(function (toastNode) {
  70. var toast = Toast.getInstance(toastNode)
  71. toast.hide()
  72. })
  73. })
  74. })
  75. </script>
  76. </body>
  77. </html>