我有一個使用ajax請求數據的函數。我想顯示繁忙的微調,但隱藏/顯示不會更改元素的可見性。在AJAX請求期間顯示/隱藏不工作
function RequestDataFromServer(stuff, url) {
var result;
$.ajax({
url: url,
data: { stuff: Stuff},
async: false,
beforeSend: function() {
$("#divOverlay").show();
console.log("Starting...");
},
complete: function() {
$("#divOverlay").hide();
console.log("Complete!");
result = true;
},
success: function (data) {
AddDataToCache(data);
},
error: function (xhr, ajaxOptions, thrownError) {
result = false;
}
});
return result;
}
我知道顯示/隱藏語法是正確的,因爲它在我將它附加到按鈕時起作用。我一直在使用也嘗試:
$(document).ajaxStart(function(){
$("#divOverlay").show();
})
在沒有影響(但是如果我一步通過這個事件在Chrome它顯示和隱藏的元素)。我也嘗試在調用RequestDataFromServer函數的函數中顯示/隱藏...仍然沒有。我沒有想法。
確保您定位的元素具有ID'divOverlay' .. –
您的控制檯日誌消息是否顯示?您的ajax操作實際上需要一段時間才能運行,或者很快就結束了,因此沒有時間查看疊加層? –
@Zakaria - 這個ID是正確的,我用一個按鈕測試它,並且元素顯示正確。 –