2017-05-11 48 views
-1

我的系統中有大量的$ .ajax調用,現在我需要在任何ajax請求上顯示一個特殊的進度條。爲每個請求做這件事都是耗時的任務,我可以在一個地方做到這一點嗎?jquery全局綁定nprogress

我所做的一切至今

<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請求工作,而無需修改現有的腳本。

+0

這個問題的方式過於寬泛,請花一分鐘閱讀[如何問一個問題(https://stackoverflow.com/幫助/如何問),也許[編寫完美的問題。](https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)並嘗試寫出更好的問題,向我們展示您已經嘗試過的以及您卡在哪裏。祝你好運! – ThrowingSpoon

回答

1

您可以使用jQuery的ajaxStart & ajaxStop方法這樣

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

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