近来做项目时需用到待图片加载完成后再执行后续操作,网上也搜索过多篇文章,在此小记,以备用时复记。
IE与其它浏览器中由于页面加载完成有差别,IE中onload事件在页面文档加载完成时图片部分仍有可能没加载完成,而火狐等则比较智能在onload时文档与图片均加载完成,因此在JS中需区别对待!
JS:
//判断浏览器
var browser = new Object();
debugger;
browser.useragent = window.navigator.userAgent.toLowerCase();
browser.ie = /msie/.test(browser.useragent);
browser.other = /gecko/.test(browser.useragent);
function iamgeLoadAfter(url, imgid, callback) {
var img = new Image(), value = url;
if (browser.ie) {
img.onreadystatechange = function () {
if (img.readyState == "complate" || img.readyState == "loaded") {
callback.success.apply(img, [imgid]);
}
else
callback.failed.apply(img, [imgid]);
};
}
else if (browser.other) {
img.onload = function () {
if (img.complete == "true")
callback.success.apply(img, [imgid]);
else
callback.failed.apply(img, [imgid]);
};
}
}
jquery:
$(function () {
$("图片ID,类名..").load(function () {
//加载完成
}).error(function () {
//加载失败
});
});