Спасибо! Мне еще предложили вот такой вариант!
(function($) {
$(function() {
var count = 0;
var pos = 0;
var newTimer = setInterval(function(){timer()}, 1100);
function timer() {
$('.tabs-title').removeClass('active').eq(count).addClass('active')
.closest('div.tabs').find('div.tabs__content').removeClass('active').eq(count).addClass('active');
count++;
if (count > 4) count = 0;
}
function stopTimer() {
clearInterval(newTimer);
}
$('.tabs').on('mouseleave', function () {
if (pos.length !== 0) {
count = pos;
} else {
count = 0;
}
newTimer = setInterval(function(){timer()}, 1100);
function timer() {
$('.tabs-title').removeClass('active').eq(count).addClass('active')
.closest('div.tabs').find('div.tabs__content').removeClass('active').eq(count).addClass('active');
count++;
if (count > 4) count = 0;
}
});
$('.tabs').on('mouseover', function() {
stopTimer();
});
$('.tabs-title').on('mouseover', function(){
pos = $(this).index();
});
$('img').closest('.tabs__content').on('mouseover', function(){
pos = $(this).index();
});
$('ul.tabs__caption').on('mouseover', 'div:not(.active)', function(e) {
stopTimer();
$(this)
.addClass('active').siblings().removeClass('active')
.closest('div.tabs').find('div.tabs__content').removeClass('active').eq($(this).index()).addClass('active');
});
});
})(jQuery);