I'm trying to make a carousel that runs automatically, but if a user interacts with the controls I want the carousel to reset its timer. 
What ive built works to an extent, but if you interact with the control-dot the timer isnt reset so it throws some funny results... 
Here's my JS
/* Js for carousel */
$('.steps__step-1').addClass('active');
$(function() {
  var lis = $('.step'),
    currentHighlight = 0;
  N = 5; // Duration in seconds
  setInterval(function() {
    currentHighlight = (currentHighlight + 1) % lis.length;
    lis.removeClass('active').eq(currentHighlight).addClass('active');
  }, N * 1000);
});
$('.control-dot').on('click', function(e) {
  e.preventDefault();
  $('.active').removeClass('active');
  var itemNo = $(this).index() - 1;
  $('.step').eq(itemNo).addClass('active');
});
 
     
     
    