javascript - Bootstrap Modal 的 setTimeout 在超时后不显示

标签 javascript jquery twitter-bootstrap modal-dialog settimeout

我试图延迟显示 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')
  }

最佳答案

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

$("#myModal").modal("show").on("shown", function () {
    window.setTimeout(function () {
        $("#myModal").modal("hide");
    }, 5000);
});

关于javascript - Bootstrap Modal 的 setTimeout 在超时后不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16512671/

相关文章:

html - Bootstrap 3底部垂直对齐图像并链接到链接右拉

javascript - 无法让最简单的 knockout.js 示例工作?

javascript - 是否可以不提及grunt中的所有脚本文件路径?

javascript - 如何检查 FormData?

javascript - 内部 html 在 ie 中不起作用,但在 ff 中起作用

javascript - window.onload 与 $(document).ready()

javascript - 为什么文档点击监听器会立即触发?

javascript - 在当前模式上按下按钮时如何触发另一个模式?

html - 如何使子菜单跨越浏览器窗口的整个宽度?

javascript - 多种功能 - 第二个功能不起作用