点击停止/开始动画循环? jQuery的

我正在制作幻灯片,不断循环播放5张图像等。我循环播放很好,但循环不会启动和停止。 我正在使用pause = true / false变量并在整个代码中添加if语句 – 不是很好看或效率很高(从示例中取出)。 如果循环在语句之后暂停,它会破坏动画并且图像会丢失。

有没有像这样控制循环的标准方法?

function setupSlideShow(){ // Setup SlideShow stuff here then start the loop slideBoxTransition() } var page = 1; function slideBoxTransition(){ switch (settings['transition']['effect']){ case "slide" : next.css({left:settings['width']+"px",top:0,display:"block"}); current.animate({left: "-="+width+"px"}, {duration : speed, easing : easing, queue : false}); next.animate({left: "-="+width+"px"}, {duration : speed, easing : easing, queue : false, complete : function(){ current.css("display","none") slideBoxGetImage(); }}); break; } } function slideBoxGetImage(){ current = $self.eq($self.index(next)) page += 1; if(page < $self.length){ next = $self.eq( $self.index(current) + 1 ); }else{ page = 0; next = $self.first(); } slideBoxTimeout(); } function slideBoxTimeout(){ setTimeout(function(){ slideBoxTransition(); }, delay); } 

任何事都会非常感激!

谢谢。

 var interval; function slideBoxTimeout(){ var interval = setInterval(function(){ slideBoxTransition(); }, delay); } $(".play").click(function() { slideBoxTimeout(); }); $(".pause").click(function() { clearInterval(interval); }); 

取自: jQuery播放/暂停jQuery函数