【发布时间】:2016-10-18 10:06:20
【问题描述】:
大家好,
我目前在 javascript 上遇到了一个问题。
我有一个基于此http://jsfiddle.net/pdb4kb1a/2 的自动幻灯片循环。
现在我还在图像中添加了箭头,因此用户也应该能够自己来回走动。 这里的问题是,当我调用 onClick() 时,它会继续重新调用 slideShow(n) 方法,而不会“中断”或“重置”另一个。 所以我最终得到的是一个循环的召回,而另一个仍在运行,这会在单击箭头按钮后创建一个非常快速且迷失方向的循环。
如何在通话时重置我的 slideShow() 循环?
var imgArray = ['img/sleutels.jpg', 'img/naamborden.jpg', 'img/leer.jpg'];
var photoIndex = 2;
var photoId = document.getElementById('photoSlide');
function setIndex(n) {
slideShow((photoIndex + n));
}
function slideShow(n) {
photoId.className += "fadeOut";
setTimeout(appear, 500);
photoIndex++;
if (photoIndex == imgArray.length) {
photoIndex = 0;
}
console.log(photoIndex);
setTimeout(slideShow, 5000);
}
function appear() {
photoId.src = imgArray[photoIndex];
photoId.className = "";
}
slideShow();
亲切的问候
【问题讨论】:
-
你能在jsfiddle中创建一个demo,我们可以看到问题。
-
你试过
setIndex(2) -
@Rajesh。这是OP参考的小提琴链接。但不是他的工作问题。对吗?
-
是的,小提琴是我的代码所基于的,我发现将这些功劳归于某个 OP 是公平的
标签: javascript html css loops slideshow