【发布时间】:2008-11-06 20:41:06
【问题描述】:
我有一堆图像需要每 2 秒一次旋转进出一个,使用花哨的 JQuery 淡入和淡出。我有 HTML 中的所有图像来预加载它们和一个 setInterval 计时器,它使当前图像淡出,然后淡入下一个图像。问题是,有时当您在淡入/淡出过程中单击或滚动时, JS 被打断,当前图像永远不会消失,下一个会消失,给你两张图像。
我感觉这与 setInterval 无法每 2 秒正常运行有关,但有没有更好的方法来完成我需要的操作?
这是一段代码:
HTML
<a href="javascript:;">
<img id="img1" src="image1.gif" />
<img id="img2" src="image2.gif" style="display:none;" />
<img id="img3" src="image3.gif" style="display:none;" />
</a>
JS
var numImages = 3;
var currentImage = 1;
imageInterval = window.setInterval("changeImage();", 2000);
function changeImage()
{
$("#img" + currentImage).fadeOut("slow", function() {
if (currentImage >= numImages)
{
currentImage = 0;
}
$("#img" + (currentImage + 1) ).fadeIn("slow", function() {
currentImage++;
});
});
}
【问题讨论】:
标签: javascript jquery