JSFiddle - React, Tailwind, and code Playground

HTML

<button onclick="toastSuccess()">成功訂購商品</button>
<hr>
<button onclick="toastError()">訂購商品失敗</button>

<div class="toast toast-success">
  訂購成功!可以查看 Email 確認訂單細節!
</div>
<div class="toast toast-error">
  抱歉,訂購失敗!請稍後重新嘗試
</div>

SCSS

$success-color: #eaf7ee;
$success-border-color: #c9e4d0;
$error-color: #fcede9;
$error-border-color: #f2ded9;


button {
  width: 300px;
  border: none;
  background-color: #aaa;
  cursor: pointer;
  font-size: 18px;
  color: #fff;
  border-radius: 8px;
  transition: opacity, visibility 1s linear;
}

.toast {
  opacity: 0;
  width: 500px;
  height: 2.5rem;
  line-height: 2.5rem;
  border-radius: 8px;
  margin-top: 20px;
  font-size: 24px;
  transition: opacity 0.5s linear;
  
  &-success {
    background-color: $success-color;
    border: 2px solid $success-border-color;
  }
  
  &-error {
    background-color: $error-color;
    border: 2px solid $error-border-color;
  }
  
  &.visible {
    opacity: 1;
  }
}

JavaScript

const successToast = document.querySelector('.toast-success');
const errorToast = document.querySelector('.toast-error');

function toastSuccess() {
	successToast.classList.add('visible');
  setTimeout(function() {
  	successToast.classList.remove('visible');
  }, 5000);
}

function toastError() {
	errorToast.classList.add('visible');
  setTimeout(function() {
  	errorToast.classList.remove('visible');
  }, 5000);
}