gpt4 book ai didi

javascript - polymer 1.0 中的英雄动画

转载 作者:搜寻专家 更新时间:2023-11-01 04:36:17 25 4
gpt4 key购买 nike

我正在尝试实现英雄动画(从 NEON 元素)以通过单击红色方 block 为另一个自定义元素(element1.html 到 element2.html)设置动画。

我写下了这里记录的所有内容: https://github.com/PolymerElements/neon-animation#shared-element

但是点击没有任何反应。请指导我实现这一点。

这是我的文件:

index.html

<!DOCTYPE html>
<html>

<head>
<script src="bower_components/webcomponentsjs/webcomponents-lite.min.js"> </script>
<link rel="import" href="bower_components/neon-animation/neon-animated-pages.html">
<link rel="import" href="bower_components/neon-animation/neon-animations.html">
<link rel="import" href="element1.html">
<link rel="import" href="element2.html">
</head>

<body>
<template is="dom-bind">
<neon-animated-pages id="pages" selected="0">
<name-tag>
</name-tag>
<name-tag1>
</name-tag1>
</neon-animated-pages>
</template>
</body>

</html>

element1.html

        <link rel="import" href="bower_components/polymer/polymer.html">

<link rel="import" href="bower_components/neon-animation/neon-shared-element-animatable-behavior.html">
<dom-module id="name-tag">
<template>

<div id="hero" style="background:red; width:100px; height:100px; position:absolute; left:100px; top:50px;"></div>
</template>
</dom-module>
<script>
Polymer({
is: "name-tag",
behaviors: [
Polymer.NeonAnimationRunnerBehavior
],
properties: {
animationConfig: {
value: function() {
return {
// the outgoing page defines the 'exit' animation
'exit': {
name: 'hero-animation',
id: 'hero',
fromPage: this
}
}
}
},
sharedElements: {
value: function() {
return {
'hero': this.$.hero
}
}
}
}

});
</script>

element2.html

        <link rel="import" href="bower_components/polymer/polymer.html"> 
<link rel="import" href="bower_components/neon-animation/neon-shared-element-animatable-behavior.html">
<dom-module id="name-tag1">
<template>
<div id="card" style="background:red; width:200px; height:200px; position:absolute; left:300px; top:100px;"></div>
</template>
</dom-module>
<script>
Polymer({
is: "name-tag1",
behaviors: [
Polymer.NeonAnimationRunnerBehavior
],
properties: {
sharedElements: {
type: Object,
value: function() {
return {
'hero': this.$.card,

}
}
},
animationConfig: {
value: function() {
return {
// the incoming page defines the 'entry' animation
'entry': {
name: 'hero-animation',
id: 'hero',
toPage: this
}
}
}
},

}
});
</script>

提前致谢。

最佳答案

  1. 您使用了错误的行为。 NeonAnimationRunnerBehavior 适用于在自身内部播放或运行动画的组件。 neon-animated-pages 组件就是一个很好的例子,它实现了 NeonAnimationRunnerBehavior,因为它在内部运行动画。

  2. 放置在 neon-animated-pages 中的每个项目都必须实现 NeonAnimatableBehavior,而不是 NeonAnimationRunnerBehavior

  3. 要运行动画,我们必须以某种方式在动画组件之间切换。 neon-animated-pages 的“selected”属性可以帮助我们做到这一点。当selected = "0" neon-animated-pages 显示name-tag,当selected = "1" neon-animated-pages 向您显示 name-tag1 组件。

  4. 您想在单击后更改 View ,但我没有看到任何单击事件监听器。添加将更改所选属性值的点击事件,它会起作用。

关于javascript - polymer 1.0 中的英雄动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30801922/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com