2011-03-22 98 views
0

任何原因爲什麼這種工作每次都在Safari中,但只有在FF 3.6中的某些時間?FF中的Javascript圖像替換斑點

<ul id="row-0" class="row group"> 
    <li class="left thumb"> 
     <img id="img-1" src="img/ajax.gif" /> 
    </li> 

    <li class="left thumb"> 
     <img id="img-2" src="img/ajax.gif" /> 
    </li> 
</ul> 

<script> 
    var flixThumbs = { 
     thumbs: [ 
      { 
       src: "img/03.jpg", 
       id: "img-03" 
      }, 
      { 
       src: "img/04.jpg", 
       id: "img-04" 
      }, 
      { 
       src: "img/05.jpg", 
       id: "img-05" 
      }, 
      { 
       src: "img/06.jpg", 
       id: "img-06" 
      } 
     ] 
    } 
    var imgID = document.getElementById('img-1'); 
    imgID.src = flixThumbs.thumbs[2].src; 

    var imgID = document.getElementById('img-2'); 
    imgID.src = flixThumbs.thumbs[3].src; 
</script> 

原來ajax.gif從DOM消失,但是當我使用Firebug檢查,我看到被顯示在瀏覽器已經取代了它是灰色的,而不是新的img標籤。我錯過了什麼嗎?

+0

由於您使用的是螢火蟲,請查看網絡標籤。新圖像是否真的被下載?什麼是響應代碼(200,304等)? – 2011-03-22 01:09:10

+0

我正在使用本地存儲的資產從我自己的桌面上進行工作,這意味着我不會在Net Panel中看到任何東西。我知道這是工作,因爲第一個img加載得很好,但第二個沒有。 – 2011-03-22 01:25:08

回答

0

執行代碼時文檔可能未準備好。試試吧

window.onload = function() { 
    var imgID = document.getElementById('img-1'); 
    imgID.src = flixThumbs.thumbs[2].src; 

    var imgID = document.getElementById('img-2'); 
    imgID.src = flixThumbs.thumbs[3].src; 
} 
+0

我的想法...... – ErikE 2011-03-22 01:11:38

+0

這仍然無法正常工作。我甚至在嘗試更改之前使用計時器等待5秒鐘,並且只給出了相同的結果。 – 2011-03-22 01:23:13

+0

他的腳本位於文檔的底部,因此文檔已加載。無論它是否完全加載,因爲他正在使用的元素是。 – 2011-03-22 01:33:59