我正试图延迟SweetAlert弹出窗口,使其在触发后几秒钟不显示。
例如用户对网页执行操作以触发SweetAlert,但是它不会立即显示,而是等待2秒钟然后显示。 -我一直在研究各种方法来做到这一点,但是没有运气...我想也许需要__setitem__()
吗?
这是到目前为止我可以使用的SweetAlert函数:
setTimeout
任何帮助表示赞赏!
答案 0 :(得分:1)
是的,确实可以使用setTimeout实现此目的,我设置了一个简单的代码段,以便您可以尝试!
// When button gets clicked.
$("#button").click(() => {
// Instantely change it's text to loading..
$("#button").text("Loading!");
// Wait 2kms then change the text to Done!
setTimeout(() => {
$("#button").text("Done!");
}, 2000);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="button">Event</button>
-狮子座
答案 1 :(得分:1)
特定SWEETALERT 2答案:
Leo的以上代码逻辑答案是正确的。正在与SweetAlert 2共享最终版本,并添加了setTimeout
作为延迟弹出窗口打开的功能。
setTimeout
函数包装了整个SweetAlert 2函数,并将计时器设置在该函数末尾的底部(在这种情况下为3000)。
希望这可以帮助想要这样做的任何人!
setTimeout(function(){swal({
type: 'success',
title: 'YOUR BALANCED BOX IS FULL',
text: 'Youve added the recommended amount of items for your plan!',
allowOutsideClick: false,
showCancelButton: true,
cancelButtonText: "Modify Selection",
cancelButtonColor: '#d33',
showConfirmButton: true,
confirmButtonColor: '#61ce70',
confirmButtonText: "Proceed To Cart",
}).then((result) => {
if (result.value) {
window.location = "/basket/";
}
})},3000);