JavaScript定时图像交换需要帮助

时间:2010-06-28 20:19:11

标签: javascript image

所以在我的剧本中我有......

<script type="text/javascript">
var images = new Array();
var numImages = 3;
var index = 0;

function setupSwapper() {
    for (i = 0; i < numImages; i++) {
        images[i] = new Image(266, 217);
        images[i].src = "images/image" + i + ".png";
    }
    setTimeout("swapImage()", 5000);
}

function swapImage() {
    if (index >= numImages) {
        index = 0;
    }
    document.getElementById('myImage').src = images[index].src
    index++;
    setTimeout("swapImage()", 5000);
}
</script>

然后我<body onload="setupSwapper()">设置身体。

<img width=266 height=217 id="myImage" name="myImage" src="images/image0.png"></img>在我的文档的其他地方。

仅显示初始图像(image0.png)。我可能因为看了这么久而失明了。图像没有交换。

4 个答案:

答案 0 :(得分:1)

使用FireBug或类似工具调试正在进行的操作:

  • img DOM元素实际上是否更改了 src
  • 您是否看到任何尝试加载图片的网络活动?它成功了吗?
  • 在代码中设置断点并查看调试器中发生的情况

顺便说一句 - 您可以使用 setInterval 代替 setTimeout - 它会设置重复计时器

答案 1 :(得分:0)

您在“setupSwapper”的定义中缺少()

也是setTimeout,而不是setTimeOut

最后,摆脱<script>标记上的“type”属性。

您可能希望将“index”设置为1而不是0。

答案 2 :(得分:0)

要走的路:

  1. setTimeout(swapImage,5000);
  2. [FORGET] type属性与它无关
  3. [FORGET]索引与它无关
  4. [可选]从图像中删除“名称”属性(无用)
  5. [可选]关闭图像标签,例如&lt; img /&gt;
  6. 注意:2-5是关于正确性的。只有第一个才能让它发挥作用。

答案 3 :(得分:0)

获取Firebug,使用它的调试器将断点放在swapImage中,以查看它是否在超时后被击中。另一种方法是使用console.* apis来查看正在发生的事情(例如console.log)。