Scrolling speeds up on calling a requestanimationframe multiple times

I’m trying to create a slider with a image gallery and to make it scroll smooth using the requestAnimationFrame.
It works almost perfect except one thing. If you slide more then 2 times in any direction the scroll speeds up and it looks bad. I would like to have the same speed every time I slide to right or left.
Can anyone give me a hint of how to do that?


          var currentPos = -200;
          var incrementer = .05;
          var id;

          function scrollNext() {

            incrementer += 1;
            currentPos = Math.pow(1.05, incrementer);

            item.scrollLeft += currentPos;

            id = requestAnimationFrame(scrollNext);

            if (!curr_slide.nextElementSibling) {
              if (item.scrollLeft >= curr_slide.offsetLeft) {
                item.scrollTo(curr_slide.offsetLeft, 0);
                cancelAnimationFrame(id);
              }
              if (item.scrollLeft < curr_slide.offsetLeft) {
                item.scrollTo(curr_slide.offsetLeft, 0);
                cancelAnimationFrame(id);
              }
            } else {
              if (item.scrollLeft >= curr_slide.nextElementSibling.offsetLeft) {
                item.scrollTo(curr_slide.nextElementSibling.offsetLeft, 0);
                cancelAnimationFrame(id);
              }
            }
          }

          scrollNext();
          curr_slide.nextElementSibling.classList.add('activeSlide');
          curr_dot.nextElementSibling.classList.add('currentDot');