我的母版页上有以下模态,作为加载消息,每当页面被加载时,gif就会旋转。
<div id="divModal" class="modal fade" role="dialog">
<div id="divModalDialog" class="modal-dialog">
<div id="divModalContent" class="modal-content" style="text-align: center;">
<div id="divModalBody" class="modal-body">
<img src="/Images/Loading.gif" width="200" alt="Loading..." />
<div id="divMessage" style="margin-top: 10px">
<b>Please Wait...</b>
</div>
</div>
</div>
</div>
</div>
我正在使用以下脚本尝试显示和隐藏模式。
<script type="text/javascript">
function showModal() {
$('#divModal').modal('show');
}
function hideModal() {
$('#divModal').modal('hide');
}
$(document).ready(showModal());
window.onload = hideModal();
</script>
在document.ready中显示模式可以正常工作。但是,当页面上的所有内容完成加载(通常大约5秒钟)时,我希望模式消失。根据我的阅读,将hide modal函数放在window.onload中应该可以,但是不能。页面开始加载后,我的模式就会弹出,但是会无限期地旋转。
在主体结束之前,我同时拥有这两个功能,因为看来这是show modal功能唯一起作用的地方。我什至在每个功能中都添加了警报和控制台日志,以确保它们按正确的顺序触发。当他们开火我也没有任何错误。但是隐藏只是不隐藏模态。有谁知道为什么会这样?
编辑:我已经得到了hideModel()来通过将模型包装在setTimeout()中来真正隐藏模型。
window.onload = setTimeout("hideModal()", 1000);
但是,无论第二个参数有多长,无论页面是否完成加载,它都会立即隐藏模式。
答案 0 :(得分:0)
要隐藏引导程序模式,请使用$('#divModal').modal('toggle');
答案 1 :(得分:0)
我终于找到了解决方案,因此希望如果有人遇到这篇文章,它将对他们有帮助。这是以前在另一页上实现的,但是我必须对其进行一些调整才能使其正常工作。
在文档准备功能中,我将其用于ID为btnEditAddress的模式上的确认按钮:
$('#' + '<%=btnEditAddress.ClientID%>').attr('onclick',
"$('.modal').modal('hide');setTimeout(function(){" + $(this).prop('href') + "}, 50);");
我仍然不确定为什么我尝试过的其他方法都没有起作用。