2011-03-22 100 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