全局jquery绑定nprogress

时间:2017-05-11 11:56:19

标签: jquery

我的系统中有大量$ .ajax调用,现在我需要在任何ajax请求上显示一个特殊的进度条。为每个请求执行此操作都是时间消耗任务,我可以在一个地方执行此操作吗?

到目前为止我做了什么

<script>

    // Show the progress bar
    NProgress.start();

    // Increase randomly
    var interval = setInterval(function() { NProgress.inc(); }, 1000);

    // Trigger finish when page fully loaded
    jQuery(window).load(function () {
        clearInterval(interval);
        NProgress.done();
    });

    // Trigger bar when exiting the page
    jQuery(window).unload(function () {
        NProgress.start();
    });

</script>

它适用于页面加载,我希望在不修改现有脚本的情况下处理任何ajax请求。

1 个答案:

答案 0 :(得分:4)

您可以使用jQuery ajaxStart&amp;这样的ajaxStop方法

jQuery( document ).ajaxStart(function() {
  NProgress.start();
});

jQuery( document ).ajaxStop(function() {
  NProgress.done();
});