您可以使用 Bootstrap 方法来实现这一点。查看页面底部的此处了解更多信息。
逻辑
当单击按钮时,jQuery 删除d-none
了警报元素的类,使其可见。然后使用setTimeout()
JS 将等待 2000 毫秒,然后使用alert()
引导程序 4 方法关闭警报。
它只需单击一下即可。
注意:使用Bootstrap 4 方法需要使用 jQuery。
$('#btn').click(function(){
$('#alert').removeClass('d-none');
setTimeout(() => {
$('.alert').alert('close');
}, 2000);
})
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" crossorigin="anonymous">
<div id="alert" class="alert alert-primary m-3 d-none" role="alert">
This is a primary alert—check it out!
</div>
<button class="btn btn-primary m-3" id="btn">
show alert and close it in 2 seconds
</button>
使用纯 JavaScript
每次用户单击按钮时,此代码都会显示警报。如果您不希望这样,您可以使用布尔值或会话存储变量与条件语句相结合,使其仅工作一次。
const btn = document.getElementById('btn'),
alert = document.getElementById('alert');
btn.addEventListener('click', () => {
alert.classList.remove('d-none');
setTimeout(() => {
alert.classList.add('d-none');
}, 2000)
})
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" crossorigin="anonymous">
<div id="alert" class="alert alert-primary m-3 d-none" role="alert">
This is a primary alert—check it out!
</div>
<button id="btn" class="btn btn-primary m-3">
show alert and close it in 2 seconds
</button>