Javascript 如何确定3个html页面(窗格)是否完全刷新?
我的页面有4个窗格(单独的html页面),最后一个窗格在刷新前3个窗格时执行一些操作。例如,最后一个窗格显示“正在加载”,而前3个窗格正在刷新。代码如下所示Javascript 如何确定3个html页面(窗格)是否完全刷新?,javascript,jquery,html,Javascript,Jquery,Html,我的页面有4个窗格(单独的html页面),最后一个窗格在刷新前3个窗格时执行一些操作。例如,最后一个窗格显示“正在加载”,而前3个窗格正在刷新。代码如下所示 //some event trigger $.get(...., function(res){ $(#pane1).html(res); }); $.get(...., function(res){ $(#pane2).html(res); }); $.get(...., function(res){ $(#pane2).htm
//some event trigger
$.get(...., function(res){
$(#pane1).html(res);
});
$.get(...., function(res){
$(#pane2).html(res);
});
$.get(...., function(res){
$(#pane2).html(res);
});
到目前为止,我尝试的是:
1) 声明一个全局变量refreshcount=0
在每个.get()
之后添加.done(…)
,在.done()
中我可以添加
function() {
refreshcount++;
}
在所有.get()
之后,检查refreshcount==3
,如果是,则在窗格4中获取删除“加载”
文本,然后重置refreshcount
这将涉及一些while循环来检查refreshcount
的状态,这在页面上很重要
在html、javascript和jquery中还有什么我可以做的吗?我对这些很陌生,所以肯定有一些事情我不知道。谢谢。创建一个推迟使用的主机,并向其附加回调,如下所示:
$.when(
$.get(...., function(res){
$(#pane1).html(res);
}),
$.get(...., function(res){
$(#pane2).html(res);
}),
$.get(...., function(res){
$(#pane3).html(res);
})
).then(function() {
$(#pane4).html("Done loading!");
});
试着这样做:
var counterOfLoaded = 0;
var totalToBeLoaded = 3;
var testIfLoaded = function() {
if (counterOfLoaded === totalToBeLoaded) {
$(#pane4).html("Done loading!");
}
};
$.get(...., function(res) {
$(#pane1).html(res);
++counterOfLoaded;
testIfLoaded();
});
$.get(...., function(res) {
$(#pane2).html(res);
++counterOfLoaded;
testIfLoaded();
});
$.get(...., function(res) {
$(#pane3).html(res);
++counterOfLoaded;
testIfLoaded();
});
看看“jQuery.when”函数: