javascript - 直到函数结束才显示模态 Bootstrap

标签 javascript jquery twitter-bootstrap modal-dialog

我还是网络编程新手,但我正在努力学习:)

我想隐藏一个模式以显示另一个模式(“请等待屏幕”),以等待函数调用结束(loadData())。但是第一个模态框被隐藏,然后屏幕逐渐淡出,直到功能结束,然后才会出现“请稍候”模态框。

欢迎任何帮助。

Ps:抱歉我的英语不好......

HTML

第一个模态

<div class="modal fade" id="modal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                    <span class="sr-only">Close</span>
                </button>
                <h4 class="modal-title">Modal 1</h4>
            </div>

            <div class="modal-body">
                <button type="button" id= "btn1"  class="btn btn-primary"  data-target="#modal1">Click</button>
            </div>
        </div>
    </div>
</div>

第二个模态

<div class="modal fade bs-example-modal-sm" id="myPleaseWait" tabindex="-1" data-backdrop="static" data-keyboard="false" role="dialog" aria-hidden="true" data-backdrop="static">
    <div class="modal-dialog modal-sm">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">
                    <span class="glyphicon glyphicon-time">
                    </span> Processing data...
                 </h4>
            </div>
            <div class="modal-body">
                <div class="progress">
                    <div class="progress-bar progress-bar-info
                    progress-bar-striped active"
                    style="width: 100%">
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

Javascript

$('#btn1').click(function(e) {
    e.preventDefault();

    $('#modal1').modal('hide');
    $("#myPleaseWait").modal("show");
    loadData();
});

最佳答案

Bootstrap 的模态类公开了一些用于 Hook 模态功能的事件。

show.bs.modal
当调用 show 实例方法时,此事件立即触发。

show.bs.modal
当模式对用户可见时会触发此事件(将等待 CSS 转换完成)​​。

隐藏.bs.modal
当调用 hide 实例方法时,会立即触发此事件。

hidden.bs.modal 当模态完成对用户隐藏时,会触发此事件(将等待 CSS 转换完成)​​。

loaded.bs.modal 当模式使用远程选项加载内容时会触发此事件。

$('#btn1').click(function(e) {
   e.preventDefault();

   $('#modal1').modal('hide');
   $('#modal1').on('hidden.bs.modal', function (e) {
      $("#myPleaseWait").modal("show");
   });
   loadData();
});

更多详情请参阅Bootstrap Documentation

关于javascript - 直到函数结束才显示模态 Bootstrap ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33683055/

相关文章:

javascript - 给定一个 4 位数字锁,其中每个数字可以是 0、1、2、3 或 4,我如何计算所有组合的总和为 4?

javascript - 如何有条件地检查对象值是否已设置或等于 smth 并跟踪更改?

jquery - W2UI多关键词搜索

javascript - 400 Bad Request 仅使用 AngularJs,适用于 jQuery

css - 将 Twitter Bootstrap 股票导航栏更改为透明

javascript - 如何使用 wp_localize_script 将数组传递给 jQuery?

javascript - 使用 Bootstrap 3,如何将 html 添加到工具提示?

javascript - 使用 jQuery 或 underscore.js 合并对象中多个数组的值

javascript - 获取表单值并将其传递给提交时的 Bootstrap 模式

css - 通过 Composer 安装后,我在哪里可以找到 css bootstrap?