我有两个请求,一个是加载映像(后端服务器将花费很多时间),另一个是ajax。 我想要跟随:
$.when(
[do image load]
[do ajax]
).then(
alert('all complete')
)
然而, $。当 和 然后 用于多个ajax请求时,如何处理ajax和图像加载
答案 0 :(得分:0)
$.when(
$.get("/ajax/", function(response) {
//process ajax
}),
$.get("/assets/image.png", function(image) {
// process image
}),
).then(function() {
// All is ready now, so...
alert('all complete')
});
答案 1 :(得分:0)
我想从jQuery callback on image load (even when the image is cached)
建议Gauri的imgLoad插件 /**
* Trigger a callback when 'this' image is loaded:
* @param {Function} callback
*/
(function($){
$.fn.imgLoad = function(callback) {
return this.each(function() {
if (callback) {
if (this.complete || /*for IE 10-*/ $(this).height() > 0) {
callback.apply(this);
}
else {
$(this).on('load', function(){
callback.apply(this);
});
}
}
});
};
})(jQuery);
用法,
$('#img-if').imgLoad(function(){
// inside the image complete callback
$.ajax({
....
success:function(response){
// final code to be executed here
}
})
});