FF中的Javascript图像替换斑点
为什么在Safari中每次都是这样,但在FF 3.6中只有一部分时间是这样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
<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没有问题。谢谢大家花时间看这个!