clearInterval无法单击

时间:2012-05-16 16:09:03

标签: jquery

我有一个简单的幻灯片脚本,它以给定的间隔旋转图像。它具有“上一个”和“下一个”按钮,用于浏览幻灯片。点击后,这些按钮调用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)});
        }
    });

有人可以指出我的错误吗?提前谢谢!

1 个答案:

答案 0 :(得分:6)

拼写错误slideshowInterval

您正在某处使用slideShowInterval并在某些地方使用slideshowInterval。使用任何一个。