var myImage = document.getElementById("mainImage");
var imageArray = ["_images/overlook.jpg","_images/winery_sign.jpg","_images/lunch.jpg",
"_images/bigSur.jpg","_images/flag_photo.jpg","_images/mission_look.jpg"];
var imageIndex = 0;
function changeImage() {
myImage.setAttribute("src",imageArray[imageIndex]);
imageIndex++;
if (imageIndex >= imageArray.length) {
imageIndex = 0;
}
我试图重构这个问题restarting a setInterval,但无法得到它的权利。任何帮助,将不胜感激! ***添加上下文**** 基本上,我有一堆图像,循环并停止点击它们。我想在再次单击重新启动循环...
var intervalHandle = setInterval(changeImage,5000);
//Basically I want a clearInterval on a click and then restart this changing image function it.
myImage.onclick = function(){
clearInterval(intervalHandle);
intervalHandle = setInterval(changeImage,5000);
};
什么是不正确的呢?会发生什么,而不是你所期望的? –
更多的上下文会有所帮助。为什么你在点击事件中再次开始了间隔? 我想如果我删除了在点击事件中设置间隔的呼叫,这将工作。 –
不要在click处理程序中重新调用setInterval。这会告诉你确定它是否正常工作 –