Полимерная неоновая анимация: элемент остается видимым после анимации
Я скачал Polymer Starter Kit и пытаюсь анимировать элемент бумаги следующим образом
<section data-route="contact">
<button on-click="_onButtonClick">Toggle</button>
<my-dialog>
<paper-material elevation="1">
<h2 class="page-title">Contact</h2>
<p>This is the contact section</p>
</paper-material>
</my-dialog>
</section>
my-dialog.html следующим образом:
<dom-module id="my-dialog">
<template>
<content></content>
</template>
</dom-module>
<script>
Polymer({
is: 'my-dialog',
behaviors: [
Polymer.NeonAnimationRunnerBehavior
],
properties: {
opened: {
type: Boolean
},
animationConfig: {
type: Object,
value: function() {
return {
'entry': [{
name: 'slide-left-animation',
node: this
}],
'exit': [{
name: 'fade-out-animation',
node: this
}]
}
}
}
},
listeners: {
'neon-animation-finish': '_onAnimationFinish'
},
_onAnimationFinish: function() {
if (!this.opened) {
this.style.display = '';
}
},
show: function() {
this.opened = true;
this.style.display = 'inline-block';
this.playAnimation('entry');
},
hide: function() {
this.opened = false;
this.playAnimation('exit');
}
});
</script>
Проблема, с которой я сталкиваюсь, заключается в том, что после переключения анимации мой бумажный элемент сжимается и остается видимым на экране. Как сделать так, чтобы оно не было видно после анимации? Я пробовал жесткое кодирование <paper-material hidden?=true>
но это также не скрывает элемент.
1 ответ
Решение
Как прокомментировано, вам просто нужно изменить this.style.display = 'none';