4

我试图延迟显示 Bootstrap 模式,直到 5 秒过去。这是我的代码部分。似乎是根据我在 MDN 上阅读的内容编写的。模态不会在任何时间后出现。任何帮助,将不胜感激。

var timeout;
  function modalAlert(message){
        $("#myModalLabel").text("Hey Look!")
        $('.modal-body').html("<img src='"+message+"'>");
        timeout = window.setTimeout(showModal,5000);

  }
  function showModal(){
    console.log("HERE")
    $("#myModal").modal('show')
  }

Vijay Ramamurthy 帮我找到了解决方案:

var timeout;
  function modalAlert(message){
        $("#myModalLabel").text("Hey Look!")
        $('.modal-body').html("<img src='"+message+"'>");
        window.setTimeout(function(){showModal();},5000);

  }
  function showModal(){
    console.log("HERE")
    $("#myModal").modal('show')
  }
4

2 回答 2

7

使用“显示”事件处理程序在模式上注册超时,然后将其隐藏。您可以将这些函数链接在一起,因为它是一个 jQuery 插件。

$("#myModal").modal("show").on("shown", function () {
    window.setTimeout(function () {
        $("#myModal").modal("hide");
    }, 5000);
});
于 2013-06-24T21:42:32.940 回答
2

尝试在 modalAlert 函数中创建最后一行

timeout = window.setTimeout(function () {showModal();}, 5000);
于 2013-05-13T03:44:13.907 回答