怎么判断AJAX取回来的DOM树数据中的图片等信息已经全部加载完成 怎么判断AJAX取回来的DOM树数据中的图片等信息已经全部加载完成,因为现在有个需求要在插入DOM树后取得该对象的scrollHeight高度值,如果里面的图片还没有加载完成就取则不能得到准确的值。求高手帮忙解答,跪谢!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有个变通的办法实现var imgList = $(yourDom).find('img');var callback = function(){ alert('全部图片下载完毕!');};var check = (funciton(count, fn){ return function(){ count--; if(count == 0){ fn(); } };})(imgList.length, onLoad);imgList.each(function(){ $(this).bind('load', check) .attr(src, $(this).attr('src'));}); var imgList = $(yourDom).find('img');var callback = function(){ alert('全部图片下载完毕!');};var check = (funciton(count, fn){ return function(){ count--; if(count == 0){ fn(); } };})(imgList.length, callback);imgList.each(function(){ $(this).bind('load', check) .attr(src, $(this).attr('src'));}); 修正楼上的一些BUG!拼写错误和字符漏写等,并补充一下代码顺序和结构!此方法可行!鉴定OVER!<html><head><script src="jq.js" type="text/javascript"></script><script type="text/javascript">$(function(){var imgList = $('#ccc').find('img');//alert(imgList.length);var callback = function(){ alert('全部图片下载完毕!');};var check = (function (count, fn){ return function(){ count--; if(count == 0){ fn(); } };})(imgList.length, callback);imgList.each(function(){ $(this).bind('load', check) .attr('src', $(this).attr('src'));});});</script></head><body id='ccc'><img src="http://pic8.nipic.com/20100720/145234_090537348485_2.jpg"/><img src="http://pic1a.nipic.com/2009-02-25/2009225211211141_2.jpg"/><img src="http://pic4.nipic.com/20091113/213291_152442048094_2.jpg"/><img src="http://pic3.nipic.com/20090512/1813115_005630566_2.jpg"/><img src="http://pic4.nipic.com/20091113/1982774_180252868907_2.jpg"/><img src="http://junshi.xiansheng.com/uploadfile/2010/1003/20101003103341594.jpg"/><img src="http://pic1a.nipic.com/2008-09-19/200891922637887_2.jpg"/><img src="http://pic4.nipic.com/20091205/1295091_185150911309_2.jpg"/><img src="http://pic1a.nipic.com/2009-02-25/2009225211127244_2.jpg"/><img src="http://pic5.nipic.com/20091229/3374535_001959343200_2.jpg"/></body></html> 最简单的就是img的onload<img src="http://www.baidu.com/img/baidu_jgylogo3.gif" onload="alert('加载完毕')" /> 6楼的是给你说原理,1楼的代码用的是也是JQuery的load来检测,其实原理就是用了img的onload方法。只不过jquery做得更加详细还考虑到了浏览器的兼容等多方面因素! 其实那段代码还是有优化的余地的,在火狐和chrome下,图片下载完成之后可以读取width属性(前提是你不能设置width), 但没有下载完毕之前这个属性读不到。IE下这个值始终不能读取。所以可以把那段代码优化下,遍历一遍imgList,如果能够读到width,就将计数减1这样,只需要将没有下载完毕的IMG绑定onload,这样处理后在非IE下能更快 求类似当当网首页全部商品分类的JS代码 童鞋们,我模拟了Google的电吉他 求点击按钮弹出比较美观的页面窗口代码 怎么利用JS创建一个text控件 为何在IIS发布后全屏失效? 求一个比较复杂的正则表达式,谢谢 在线等:请问各位怎样可以让选中的表格行可编辑? 这句话中的json参数难道就是json对象吗 小弟求助JQuery事件的问题 给<div>增加style属性 js 如何对时间处理 js div显示与隐藏,每一条显示与隐藏他们都是循环出来的,不知道多少条,每一条id肯定是一样的但是就一个js取不一样的值,不重复id,下边是我写的id是写死的
var imgList = $(yourDom).find('img');var callback = function(){
alert('全部图片下载完毕!');
};var check = (funciton(count, fn){
return function(){
count--;
if(count == 0){
fn();
}
};
})(imgList.length, onLoad);imgList.each(function(){
$(this).bind('load', check)
.attr(src, $(this).attr('src'));
});
alert('全部图片下载完毕!');
};var check = (funciton(count, fn){
return function(){
count--;
if(count == 0){
fn();
}
};
})(imgList.length, callback);imgList.each(function(){
$(this).bind('load', check)
.attr(src, $(this).attr('src'));
});
<html>
<head>
<script src="jq.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
var imgList = $('#ccc').find('img');
//alert(imgList.length);
var callback = function(){
alert('全部图片下载完毕!');
};var check = (function (count, fn){
return function(){
count--;
if(count == 0){
fn();
}
};
})(imgList.length, callback);imgList.each(function(){
$(this).bind('load', check)
.attr('src', $(this).attr('src'));
});
});
</script>
</head>
<body id='ccc'>
<img src="http://pic8.nipic.com/20100720/145234_090537348485_2.jpg"/>
<img src="http://pic1a.nipic.com/2009-02-25/2009225211211141_2.jpg"/>
<img src="http://pic4.nipic.com/20091113/213291_152442048094_2.jpg"/>
<img src="http://pic3.nipic.com/20090512/1813115_005630566_2.jpg"/>
<img src="http://pic4.nipic.com/20091113/1982774_180252868907_2.jpg"/>
<img src="http://junshi.xiansheng.com/uploadfile/2010/1003/20101003103341594.jpg"/>
<img src="http://pic1a.nipic.com/2008-09-19/200891922637887_2.jpg"/>
<img src="http://pic4.nipic.com/20091205/1295091_185150911309_2.jpg"/>
<img src="http://pic1a.nipic.com/2009-02-25/2009225211127244_2.jpg"/>
<img src="http://pic5.nipic.com/20091229/3374535_001959343200_2.jpg"/>
</body>
</html>
<img src="http://www.baidu.com/img/baidu_jgylogo3.gif" onload="alert('加载完毕')" />
可以读取width属性(前提是你不能设置width), 但没有下载完毕之前这个
属性读不到。IE下这个值始终不能读取。所以可以把那段代码优化下,遍历
一遍imgList,如果能够读到width,就将计数减1这样,只需要将没有下载
完毕的IMG绑定onload,这样处理后在非IE下能更快