我有一个简单的幻灯片脚本,它以给定的间隔旋转图像。它具有“上一个”和“下一个”按钮,用于浏览幻灯片。点击后,这些按钮调用clearInterval并设置一个新的计时器,但问题是clearInterval函数似乎不起作用,并且计时器只是叠加。
这是脚本:
$(document).ready(function() {
var currentPosition = 0;
var slideWidth = 570;
var slides = $(".slide");
var slidesNumber = slides.length;
var slideshowInterval;
var speed = 5000;
slideShowInterval = setInterval(changePosition, speed);
slides.wrapAll('<div id="slides_holder"></div>');
$("#slides_holder").css("width", slideWidth*slidesNumber);
$("#left_arrow").click(function() {
if (currentPosition == 0) {
currentPosition = slidesNumber-1;
}
else {
currentPosition--;
}
clearInterval(slideshowInterval);
slideShowInterval = setInterval(changePosition, speed);
moveSlide();
});
$("#right_arrow").click(function() {
if (currentPosition == slidesNumber-1) {
currentPosition = 0;
}
else {
currentPosition++;
}
clearInterval(slideshowInterval);
slideShowInterval = setInterval(changePosition, speed);
moveSlide();
});
function changePosition() {
if (currentPosition == slidesNumber-1) {
currentPosition = 0;
} else {
currentPosition++;
}
moveSlide();
}
function moveSlide() {
$("#slides_holder").animate({"marginLeft": slideWidth*(-currentPosition)});
}
});
有人可以指出我的错误吗?提前谢谢!
答案 0 :(得分:6)
拼写错误slideshowInterval
。
您正在某处使用slideShowInterval
并在某些地方使用slideshowInterval
。使用任何一个。