我使用NProgress.js开发了一个应用程序。
其惊人的插件。

我想知道可以在NProgress $ .ajax请求中运行NProgress时使用NProgress(一个类似它的模态对话框)来防止单击。

ks

最佳答案

可以这样做,但是模态的衰落效果使NProgress所示的加载条变得模糊。因此,您可能想使用以下方式将加载栏附加到“ body” DOM元素以外的其他内容上:

NProgress.configure({ parent: '#newContainer' });


无论如何,只要在HTML页面的正文中的某个位置放置一个模式块即可:

<!-- Modal -->
<div class="modal fade" id="loadingModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title" id="myModalLabel">Fetching New Data</h4>
     </div>
   <div class="modal-body">
     Please wait...
  </div>
</div>





用javascript初始化它(请注意,键盘:false阻止键入消除模式,而background:static阻止单击消除):

$('#loadingModal').modal({ show: false, keyboard: false, backdrop: 'static'});


然后在Ajax调用中适当地显示/隐藏它:

NProgress.start();
$('#loadingModal').modal('show');

$.ajax({...
  }).done(response => {
    // Handle success
  }).fail(err => {
    // Handle errors
  }).always(() => {
    $('#loadingModal').modal('hide');
    NProgress.done()
  });

10-02 21:51