2016-06-13 3 views
1

Я пытаюсь использовать эту анимациюSVG анимация не работает на светлячок

http://codepen.io/dbj/full/epXEyd

var tl = new TimelineLite; 
tl.staggerFromTo(".bottom", 0.8, {alpha: 0}, {alpha: 1, fill: "#d6d6d6", delay: 1}, 0.25) 
tl.fromTo("#rectangle", 5, {fill:"#d6d6d6", alpha: "0%", height: "7%"}, {fill: "#c8db2d", alpha: "100%", height: "65%", ease: Power3.easeInOut}, "-=1") 
tl.staggerFromTo(".ray", 1, {alpha: 0}, {alpha: 1, fill: "#cee325"}, 0.02, "-=1.25") 

на сайте, но это, кажется, не полностью совместимы с Firefox браузером (на хроме он прекрасно работает), есть ли способ заставить его работать для всех браузеров?

Я попытался изменить вызовы javascript в библиотеках анимации, используя from вместо fromTo и т. Д., Все работает отлично в хроме, но не в firefox. (или если кто-то знает другую подобную анимацию, которую я мог бы использовать, было бы неплохо: D). Спасибо большое!

ответ

0

Если бы я должен был догадаться, я бы сказал, что это проблема с библиотекой анимации, которую вы используете.

В анимации он пытается анимировать высоту элемента <rect>, чтобы придать этому эффекту заливки. Обратите внимание на перепад высот 7% -> 66% в приведенном ниже коде.

.fromTo("#rectangle", 7, {fill:"#000", alpha: "0%", height: "7%"}, {fill: "#f5e317", alpha: "100%", height: "66%", ease: Power3.easeInOut}, "-=1") 

Высота прямоугольника на самом деле не меняется во время работы анимации. Поэтому я подозреваю, что это может быть ошибка или несовместимость в том, как анимационная библиотека устанавливает высоту во время анимации.

Сократите демо: http://codepen.io/anon/pen/Vjadwm

Если вы не получите ответа здесь, я бы рассмотреть вопрос об обращении Greensock за помощью, или отправляя сообщение об ошибке с ними.

+0

rect height не является свойством CSS в SVG 1.1, это атрибут (и в этом случае Firefox поддерживает только SVG 1.1). Прямая высота предлагается как свойство CSS в SVG 2 (и в этом случае Chrome поддерживает SVG 2) , SVG 2 не завершен, и Firefox, скорее всего, со временем поддержит эту функцию, так как он выполняет некоторые другие функции SVG 2, которые Chrome пока не поддерживает. GSAPI должен быть достаточно умным, чтобы скрыть эту проблему. –

+0

@Robert, я не использовал Greensock, поэтому не хотел принимать в своем ответе, что это только анимированные свойства CSS. Но я, вероятно, должен был включить эту информацию. –

+0

Я думаю, что в некоторых случаях он анимирует атрибуты. Предположительно, это просто некоторый надзор в этом конкретном API, как говорит OP из анимационных работ. –

 Смежные вопросы

  • Нет связанных вопросов^_^