有沒有辦法顯示加載微調,而我的JavaScript正在運行?jquery加載微調或JS加載消息運行
我想toshow的東西給用戶,而網頁等待.....
這需要大約5-6 secs..so我想說明一個微調或箱子,同時它的等待
$.each(ARRAY, function(key, item){
//IM DOING SOME LOGIC HERE
});
有沒有辦法顯示加載微調,而我的JavaScript正在運行?jquery加載微調或JS加載消息運行
我想toshow的東西給用戶,而網頁等待.....
這需要大約5-6 secs..so我想說明一個微調或箱子,同時它的等待
$.each(ARRAY, function(key, item){
//IM DOING SOME LOGIC HERE
});
在你的頁面添加一個隱藏的加載圖像,當你啓動你的函數時顯示它,並在函數完成時再次隱藏它。
<img src="loading image " id="loading">
function(){
$("#loading").show();
your logic
$("#loading").hide();
}
這只是想到的第一件事。可能不是最好的解決方案。但它的工作..你可以定義一個加載div並隱藏它默認情況下。然後,當每個人都在做它的事情時,顯示加載div。因此,像:
CSS:
.hidden{display:none;}
HTML:
<div class="loading hidden"></div>
的JavaScript:
function(){
$('.loading').removeClass('hidden');
$.each(ARRAY, function(key, item){
});
}
這可能是AJAX邏輯有所幫助:
<img id="loadingImg" src="loding.gif"/>
$('#loadingImg')
.hide() // hide it initially
.ajaxStart(function() {
$(this).show();
})
.ajaxStop(function() {
$(this).hide();
})
;
每當您執行任何AJAX調用並顯示加載微調器時,ajaxStart/ajaxStop函數都會觸發。
或者,這可能也有幫助:
function doLogic() {
$('#loadingImg').show();
setTimeout(function() { // allow spinner to load before work starts
// logic here
},500);
$('#loadingImg').hide();
}
見,如果這個問題可以幫助:http://stackoverflow.com/questions/68485/how-to-show-loading-spinner-in-jquery – raddevon
完全取決於你在等什麼..看起來你正在運行一些腳本..這將凍結你的瀏覽器,直到完成腳本。 –