javascript - 从 jQuery 中隐藏 Bootstrap 模式第一次不起作用

标签 javascript jquery html css twitter-bootstrap

我在使用 JQuery 代码时遇到了一些问题。 我正在尝试制作一个“动态”网站,因此每次您单击链接时('a' 元素具有 'link' 属性),我的代码采用 'link' 属性并将其传递给 jQuery 的 load() 函数.事情是,我想让用户知道内容正在加载,所以我想我可以在开始加载之前显示一个模式,并在完成时隐藏它,但它不起作用。我第一次点击链接时,模态框会停留在那里,不会消失。然而,从第二次开始,我点击任何链接,一切正常。

为什么只有第一次关闭失败?

$(document).on("click", "[link]", function() {
    $("#cargando").modal('show');
    $('#contenido').load($(this).attr('link'), function() {
        $('#cargando').modal('hide');
        $('.modal-backdrop').hide();
    });
});

额外信息:此代码和模态 HTML 一起位于名为 dyn.html 的文件中,该文件包含在其余页面的末尾。

编辑,模态代码:

<div class="modal modal-static fade" id="cargando">
<div class="modal-dialog"><div class="modal-content">
<div class="modal-body"><div class="text-center">
<h4>Cargando...</h4>
</div></div></div></div></div>

编辑,它适用于:

$(document).on("click", "[link]", function() {
$('#cargando').modal('show');
$('#contenido').load($(this).attr('link'), function() {
$('#cargando').hide();
$('.modal').hide();
$('.modal-backdrop').hide();
});
});

这很困惑,但它是第一个起作用的东西。

最佳答案

$('.modal').hide();

通过应用超时功能替换此代码。就像这样。

setTimeout(function(){
  $('.modal').hide();
},100);

这里的 100 是超时时间。

关于javascript - 从 jQuery 中隐藏 Bootstrap 模式第一次不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33459100/

相关文章:

javascript - 在不影响正常屏幕尺寸的情况下为屏幕尺寸调用样式表

javascript - 如何使用 headerAttributes 设置特定的标题颜色?

javascript - float 元素和使用 jQuery

javascript - 当输入字段类型为 =“file” 时,如何将 Bootstrap Tool 提示添加到输入字段

html - 页面选择和识别

javascript - 如何将 font-awesome svg 图标导出为 base64 url​​?

javascript - Promise 链中的异步操作未按顺序执行

javascript - 从 JQM 对话框修改页面

php - Bootstrap 使用模态删除记录

html - 试图删除 index.html 文档,但在我刷新页面时仍然存在