JS中img.complete的问题,求帮忙解决,有替换方法或者解决方法都可以

那个img.complete这个是不是会返回有延迟?我循环一个数组来给img.src赋予地址,当一个图片按照地址是正确的显示了,反而img.complete为false,但是当下一个图片地址是不显示的,img.complete却变成true了:代码如下
for(var i = k; i < 29; i++)
{
j = k;
m=m+1;
if(_e == 8) break;
var img = imgs[_e];
window.alert("_e="+_e+"i="+i);
//if (i == 28) img.onerror = function(){this.parentNode.removeChild(this)}
img.onclick = function()
{
F("divBigPic").innerHTML = "";
var bigImg = this.cloneNode(true);
F("divBigPic").appendChild(bigImg);
}
var aArray =[0,9,10,11,1,12,2,13,14,15,3,16,17,18,4,19,5,20,6,21,7,22,23,24,25,26,27,28];
var g = aArray[i];
var bArray =["酒店外立面","酒店外立面","酒店外立面","酒店外立面","酒店大堂","酒店大堂","大床房","大床房","大床房","大床房","标准房","标准房","标准房","标准房","卫生间","卫生间","酒店餐厅","酒店餐厅","酒店商务中心","酒店商务中心","酒店会议室","酒店会议室","酒店走廊","酒店走廊","酒店自助洗衣房","酒店自助洗衣房","酒店早餐","酒店早餐"];
img.alt = bArray[i];
img.src = "http://211.152.60.234:8080/op/Module_ERP/Images/HotelDisplay/" + HotelCode + "_" + g + ".jpg";
var al=img.complete;
window.alert(al);
if(i == 28 && al == false) img.parentNode.removeChild(img);
else if(al) {_e = _e+1;continue;}
else{img.onerror=function(){m=m-1;l=l+1;};continue;}
}

第1个回答  2011-08-30
complete 属性来讲,IE是根据图片是否显示过来判断,就是说当加载的图片显示出来后,complete 属性的值才为 true ,否则一直是 false ,和以前是否加载

过该张图片没有关系,即和缓存没有关系!这里要注意,显示与否和img.style.display无关;

JS部分: alert(img.complete);----->false
img.src="图片";
alert(img.complete);------->//如果上面“图片”获取的时间比JS代码顺序执行的时间要常,那么这里就是false,否则就是true;

你有空的话可以看看这个网站或许能帮到你:

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网