Sweetalert延迟打开后弹出窗口

时间:2018-08-10 21:43:24

标签: javascript alert sweetalert sweetalert2

我正试图延迟SweetAlert弹出窗口,使其在触发后几秒钟不显示。

例如用户对网页执行操作以触发SweetAlert,但是它不会立即显示,而是等待2秒钟然后显示。 -我一直在研究各种方法来做到这一点,但是没有运气...我想也许需要__setitem__()吗?

这是到目前为止我可以使用的SweetAlert函数:

setTimeout

任何帮助表示赞赏!

2 个答案:

答案 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);