Показать сообщение отдельно
  #7 (permalink)  
Старый 25.01.2019, 16:35
Кандидат Javascript-наук
Отправить личное сообщение для yaparoff Посмотреть профиль Найти все сообщения от yaparoff
 
Регистрация: 26.04.2016
Сообщений: 106

рони,
прочитал
написал свою реализацию. Получилось как то так
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)
            })
        }
    }
};

Последний раз редактировалось yaparoff, 25.01.2019 в 16:45.
Ответить с цитированием