作者piglon (TEST123)
看板Ajax
标题[问题]Javascript 没有每次都执行
时间Thu Aug 9 10:55:07 2012
想请教
我写了一个检查破图的js
但是不是每次都会把所有的破图取代
有时候全部都没有取代
但是重新整理几次之後就又好了
流程是这样
抓到某个div区块内所有的图片
检查如果是破图就取代成另一张图
程式码如下
<script type="text/javascript">
var imgs = document.getElementById("show").getElementsByTagName("img");
for(var i = 0;i < imgs.length;i++){
imgs[i].onerror = function(){
this.src = "./images/broken_pic.jpg";
}
}
</script>
我放在</body>之前
刚刚听了musie的意见我改了一下但是不会取代@@
<script type="text/javascript">
var imgs = document.getElementById("show").getElementsByTagName("img");
for(var i = 0;i < imgs.length;i++){
if(imgs[i].complete){
imgs[i].onerror = function(){this.src = "./images/pez_broken_pic.jpg";}
}
}
</script>
我尝试了imgs[i].onload = function(){this.src = "./images/pez_broken_pic.jpg";}
还是有部分不会被取代
imgs[i].complete = function(){this.src = "./images/pez_broken_pic.jpg";}
则是全部没有取代
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.36.54.242
1F:→ musie:看起来就是没有检查img是否已经读取完毕.. 08/09 11:00
2F:→ musie:所以第一次读取时就是会死掉.. 08/09 11:00
3F:推 yyc1217:会不会是第一行还没执行完 回圈就跑完了? 08/09 13:43
※ 编辑: piglon 来自: 114.36.54.242 (08/09 13:46)
4F:→ piglon:我再试一下!!谢谢~ 08/09 13:47
※ 编辑: piglon 来自: 114.36.54.242 (08/09 14:50)
※ piglon:转录至看板 PHP 08/09 15:11
5F:→ piglon:还是不行~~ 08/09 15:33
※ piglon:转录至看板 Web_Design 08/09 15:57
6F:→ b12031106:浏览器是什麽? 08/09 16:13
7F:→ b12031106:alert看看你的imgs.length 看看数量对不对 08/09 16:14
8F:→ piglon:跳窗出来的数量对!!有400多个 浏览器 chrome ie firfox 08/09 16:15
9F:→ piglon:三个浏览器情况一样 08/09 16:16
10F:推 yyc1217:建议使用console.log('1,2,....')来看执行顺序~ 08/09 16:24
11F:→ yyc1217:用chrome的开发人员工具的Console页面来检视 08/09 16:24
12F:→ b12031106:应该是你在定义onerror之前就已经触发过onerror了 08/09 16:36
13F:→ b12031106:而且complete是属性 不是event 08/09 16:53