Ответ 1
Страница с полимерными элементами имеет прохладное руководство по анимации, но я предполагаю, что вы уже прочитали его, и он не совсем ответил на ваши вопрос, если это так, это должно быть полезно.
Прежде всего, то, что вы уже сделали, в порядке, что вам осталось сделать, это несколько вещей:
- Ваш элемент должен реализовать
NeonAnimationRunnerBehavior
, чтобы иметь возможность запускать анимации на нем локальный DOM - Как только он реализует поведение, вы должны переопределить свойство
animationConfig
, чтобы он выполнял анимацию, и как он будет запускать их. - Наконец, вы должны вызвать
this.playAnimation('animationName')
, чтобы анимация запускалась, когда вам нужно ее запускать
Вот как будет выглядеть код в конце после того, как все это изменится с использованием выбранной вами анимации:
Polymer({
is: 'my-element',
behaviors: [
Polymer.NeonAnimationRunnerBehavior
],
properties: {
animationConfig: {
type: Object,
value: function(){
return {
'expand': {
'name': 'grow-height-animation',
'node': this.$.container
}
};
}
}
},
_onTestClick: function() {
this.playAnimation('expand');
}
});
И здесь рабочая скрипка всего