Javascript 停止/暂停此操作,然后单击重新启动

Javascript 停止/暂停此操作,然后单击重新启动,javascript,jquery,slideshow,Javascript,Jquery,Slideshow,我希望停止这一次点击一个按钮,并开始点击相同的按钮。有什么想法吗?试试这个: $(function(){ $('.fadein img:gt()').hide(); setInterval(function(){ $('.fadein :first-child').fadeOut() .next('img').fadeIn() .end().appendTo('.fadein');}, 6800); }); 感谢Ri

我希望停止这一次点击一个按钮,并开始点击相同的按钮。有什么想法吗?

试试这个:

$(function(){
    $('.fadein img:gt()').hide();
    setInterval(function(){
      $('.fadein :first-child').fadeOut()
         .next('img').fadeIn()
         .end().appendTo('.fadein');}, 
      6800);
});
感谢Rikonator,以下是更好的答案:

$(function(){
    $('.fadein img:gt()').hide();
    var active = true;
    setInterval(function(){
      if(active) {
        $('.fadein :first-child').fadeOut()
           .next('img').fadeIn()
           .end().appendTo('.fadein');
      }
    }, 6800);

    $('#buttonId').click(function(){ active = !active; });
});

我很好奇;在停止时清除间隔,在开始时重新设置间隔不是更好吗?如果它被停止很长时间,在每次间隔之后,函数不会被不必要地调用吗?看到这个答案,我想这就是你需要的:我的意思是参考你的答案。与简单地切换标志相比,在
单击功能中清除停止时的间隔并在开始时再次将其设置回原来的间隔不是更好的性能吗?实际上,您允许调用interval函数,即使它“停止”,这是不必要的,因为当
active
为false时,函数什么也不做。哦,这很接近。图像在加载时一次闪烁一个,因为它们都位于彼此的顶部。但是这个按钮很好用,非常感谢!您正在尝试停止
设置间隔
或淡入淡出吗?
$(function(){
    $('.fadein img:gt()').hide();
    var active = true;
    var interval = setInterval(intervalFunction, 6800);

    $('#buttonId').click(function(){ 
       if(!active) 
          interval = setInterval(intervalFunction, 6800)
       else
          clearInterval(interval);
    });

    function intervalFunction(){
        $('.fadein :first-child').fadeOut()
           .next('img').fadeIn()
           .end().appendTo('.fadein');
    }
});