рони,
прочитал
написал свою реализацию. Получилось как то так
https://codepen.io/anon/pen/JxYwbO?editors=1010
почему то после того как убираем мышь блок все равно продолжает двигаться какое то время
Также написал через setInterval
https://codepen.io/anon/pen/OdJZEp?editors=1010
и при событии mouseleave срабатывает clearInterval
но тут тоже блок продолжает двигаться какое то время
Видите, в том источнике написано время, при котором анимация будет работать, а мне нужно чтобы навел на стрелку - блок поехал, снова навел - блок продолжил движение (не с начала, а с того места где остановился)
Мне не понятно что означает переменная "с" в вашем коде. Для чего она служит?
function timer(b) {
let c = true;
return {
stop: function() {
c = false
},
play: function() {
var d = performance.now();
c = !0;
requestAnimationFrame(function e(a) {
a = (a - d) / b.duration;
1 < a && (a = 1);
let i = b.from + (b.to - b.from) * a | 0;
b.elem.style.transform = 'translateX(' + -i + 'px)';
c && 1 == a && (d = performance.now());
c && requestAnimationFrame(e)
})
}
}
};