我在使用 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/