Что-то делаю не так. Очистка clearTimeout не работает когда срабатывает повторно mouseleave, а clearTimeout не успел сработать (его надо очистить - перезаписать).
2 секунды = продолжительность анимации
функция и переменные
var count = 0;
var reset = 0;
function countLoop(){
if(count >= 2000){
count = 0;
}else{
count += 100;
}
console.log(count);
}
Два события
$(".boy-block").mouseover(function(){
clearTimeout(reset);
idInterval = setInterval(countLoop,100);
$(".circle-inner").addClass("active");
});
$(".boy-block").mouseleave(function(){
clearInterval(idInterval);
reset = setTimeout( '$(".circle-inner").removeClass("active")', 2000 - count);
count = 0;
});