FF中的Javascript图像替换斑点

FF中的Javascript图像替换斑点,javascript,dom,image,Javascript,Dom,Image,为什么在Safari中每次都是这样,但在FF 3.6中只有一部分时间是这样 <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

为什么在Safari中每次都是这样,但在FF 3.6中只有一部分时间是这样

<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标记变灰,并且没有显示在浏览器中。我遗漏了什么吗?

执行代码时,文档可能还没有准备好。这样试试看

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;
}

由于您使用的是firebug,请查看net选项卡。新图像是否正在下载?什么是响应代码200、304等?我在自己的桌面上使用本地存储的资产工作,这意味着我不会在网络面板中看到任何东西。我知道它在工作,因为第一个img加载得很好,但是第二个没有,仍然不工作。我甚至使用计时器来完成,在尝试更改之前等待5秒,这只会给我相同的结果。他的脚本位于文档的底部,因此文档被加载。是否完全加载并不重要,因为他使用的元素是。结果表明,当在浏览器中单独查看图像时,由于错误,图像无法正确显示。我尝试了不同的图像,它们似乎工作得很好。奇怪,因为Safari没有问题。谢谢大家花时间看这个!