Javascript 当按下下一步/后退按钮时,如何重置幻灯片放映的自动功能?

Javascript 当按下下一步/后退按钮时,如何重置幻灯片放映的自动功能?,javascript,html,slideshow,Javascript,Html,Slideshow,我有一个图像幻灯片,它每4秒自动改变一次(autoslide()),所以当我按下一个next/back按钮时,倒计时继续 我想要的行为:当按下一个“下一步/后退”按钮时,自动滑动功能从0秒开始倒计时,而不继续上一次倒计时 var指数=1; 函数加索引(n){ showimage(索引+=n); } showimage(索引); 函数showimage(n){ var slide=document.getElementsByClassName('sliders'); 如果(n>幻灯片长度){ 索

我有一个图像幻灯片,它每4秒自动改变一次(
autoslide()
),所以当我按下一个next/back按钮时,倒计时继续

我想要的行为:当按下一个“下一步/后退”按钮时,自动滑动功能从0秒开始倒计时,而不继续上一次倒计时

var指数=1;
函数加索引(n){
showimage(索引+=n);
}
showimage(索引);
函数showimage(n){
var slide=document.getElementsByClassName('sliders');
如果(n>幻灯片长度){
索引=1
};
if(n<1){
索引=幻灯片长度
};
对于(i=0;i幻灯片长度){
索引=1
};
幻灯片[索引-1]。style.display=“block”;
索引++;
设置超时(自动滑动,时间);
}

您可以使用
clearTimeout
执行此操作。您的函数
自动滑动
将修改如下:

var timer;
function autoslide() {
  var slide = document.getElementsByClassName('sliders');
  for (i = 0; i < slide.length; i++) {
    slide[i].style.display = "none";
  }
  if (index > slide.length) {
    index = 1
  };
  slide[index - 1].style.display = "block";
  index++;
  timer = setTimeout(autoslide, time);
}

您可以使用
clearTimeout
执行此操作。您的函数
自动滑动
将修改如下:

var timer;
function autoslide() {
  var slide = document.getElementsByClassName('sliders');
  for (i = 0; i < slide.length; i++) {
    slide[i].style.display = "none";
  }
  if (index > slide.length) {
    index = 1
  };
  slide[index - 1].style.display = "block";
  index++;
  timer = setTimeout(autoslide, time);
}