Как использовать .animate javascript в Safari? Получение undefined не является функцией

1

Я пытаюсь анимировать кратные листья случайно. Вот мой код:

var leafs = document.querySelectorAll(".leaf");

leafs.forEach(function(leaf) {

        var angle = parseInt(leaf.getAttribute("data-angle")),
            posY = parseInt(leaf.getAttribute("data-top")),
            posX = parseInt(leaf.getAttribute("data-left")),
            directionX = Math.random() < 0.5 ? -1 : 1,
            directionY = Math.random() < 0.5 ? -1 : 1,
            newposX = directionX * Math.round(Math.random()*10) + posX,
            newposY = directionY * Math.round(Math.random()*10) + posY,
            angleRotation = Math.round(Math.random()*20) + angle;
            //keyframe = {transform: ['translate3d(' + posX + 'px,' + posY + 'px, 0px) rotate(' + angle + 'deg)', 'translate3d(' + newposX + ',' + newposY + ', 0px) rotate(' + angleRotation + ')']};

        console.log(leaf);

        leaf.animate([
            {
             transform: 'translate3d(' + posX + 'px,' + posY + 'px, 0px) rotate(' + angle + 'deg) '
            },
            {
             transform: 'translate3d(' + newposX + 'px,' + newposY + 'px, 0px) rotate(' + angleRotation + 'deg)'
            }
        ], {
            iterations: Infinity,
            direction: 'alternate',
            easing: 'ease-in-out',
            duration: 3000
        });
    });

В firefox & chrome он работает нормально. В сафари я получил следующую ошибку: я не знаю, как с этим бороться. Я использую ванильный javascript.

TypeError: undefined is not a function (near '...leaf.animate...')

ОБНОВИТЬ

Оказывается, мне нужен полиполк или JQuery.

PolyFill можно найти здесь: web-animation-js

  • 0
    Нет поддержки браузера. Проверьте MDN для полифилла (если таковой существует)
Теги:
animation

1 ответ

0
Лучший ответ

Проверьте web-animations-js, полиуретан w3, предоставленный Google. Он немного устарел, но работает для большинства функций API веб-анимации, по крайней мере, на 99% лучших браузеров.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню