0

Actually , i'm designing an autoplay slider using vanilla javascript . so there are two functions , one will play the forward slider while other reverse . When i'm on the last item in the forwardslider , i want to clear the interval and start the reverse slider and vice versa when im on the reverse slider's last item , i want to clear the interval and start the forward slider . But the intervals are not being cleared and once it switches to the reverse slider and keeps on running both the intervals

function sliderForwardAutoplay(){
  var Fid = setInterval(()=>{
      var currentSlider = document.querySelector('.current-slider');
      if(parseInt(currentSlider.dataset.num)===2){
          clearInterval(Fid);
          sliderReverseAutoplay();
      }
      // alert(currentSlider.dataset.num+1);
      // currentSlider.classList.add('swipe-left');
      getSliderLayer(parseInt(currentSlider.dataset.num)+1).classList.add('swipe','current-slider');
      setInterval(()=>{
          getImgLayer(parseInt(currentSlider.dataset.num)+1).classList.add('left-0');
      },500);
      currentSlider.classList.remove('current-slider');
  },5000);
}

function sliderReverseAutoplay(){
  var Rid = setInterval(()=>{
      var currentSlider = document.querySelector('.current-slider');
      if(parseInt(currentSlider.dataset.num)===0){
          clearInterval(Rid);
          sliderForwardAutoplay();
      }
      // alert(currentSlider.dataset.num+1);
      // currentSlider.classList.add('swipe-left');
      getSliderLayer(parseInt(currentSlider.dataset.num)).classList.add('swipe-right');
      getSliderLayer(parseInt(currentSlider.dataset.num)-1).classList.add('current-slider');        currentSlider.classList.remove('current-slider');
      
  },5000);
}

0 Answers0