作者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