[英]How to stop ajax loader
我實現了這個:
$('#loader').hide() // hide it initially
.ajaxStart(function() {
$('#loader').show();
})
.ajaxStop(function() {
$('#loader').hide();
});
當我使用ajax方法時,這非常有效。 但是我希望能夠在這種情況下禁用ajax加載器。
setInterval(function(){
//I need to disable loader in here
$.ajax({
type: "POST",
url: "live_top_5.php",
dataType: 'json',
cache: false,
success: function(response)
{
//do something
}
});
},10000);
問題是我的加載程序覆蓋全屏,我想為這個特定的ajax調用禁用它,因為我每10秒刷新一次這個內容。 那可能嗎? 要為某個ajax調用禁用ajax加載程序?
您有一個選項,請查看此附加說明:
如果在全局選項設置為false的情況下調用$ .ajax()或$ .ajaxSetup(),則不會觸發.ajaxStart()方法。
http://api.jquery.com/ajaxStart/
編輯:在不應觸發事件的調用上添加全局參數
$.ajax({
type: "POST",
url: "live_top_5.php",
dataType: 'json',
cache: false,
global: false,
success: function(response)
{
//do something
}
});
用這個 -
setInterval(function(){
setTimeout((function(){ $('#loader').hide();}),200);
$.ajax({
type: "POST",
url: "live_top_5.php",
dataType: 'json',
cache: false,
success: function(response)
{
//do something
}
});
},10000);
或者您可以在初始化中使用該標志
var allowed = true;
$('#loader').hide() // hide it initially
.ajaxStart(function() {
if(allowed) $('#loader').show();
})
.ajaxStop(function() {
$('#loader').hide();
});
並在ajax檢查
setInterval(function(){
allowed = false;
$.ajax({
type: "POST",
url: "live_top_5.php",
dataType: 'json',
cache: false,
success: function(response)
{
allowed = true; //do something
}
});
},10000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.