2015-06-12 8 views
5

मैं एक लाल वर्ग पर क्लिक करके नायक एनीमेशन (नियॉन-तत्वों से) को एनिमेट करने के लिए किसी अन्य कस्टम तत्व (element1.html element2.html) को एनिमेट करने की कोशिश कर रहा हूं। https://github.com/PolymerElements/neon-animation#shared-elementपॉलिमर में हीरो एनीमेशन 1.0

लेकिन कुछ भी नहीं क्लिक पर होता है:

मैं सब कुछ है कि यहाँ से प्रलेखित है लिखा था। कृपया इसे लागू करने पर मुझे मार्गदर्शन करें।

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
  1. आप गलत व्यवहार का उपयोग कर रहे हैं। NeonAnimationRunnerBehavior उन घटकों के लिए है जो एनीमेशन को अपने अंदर चलाते या चलाते हैं। बहुत अच्छा उदाहरण neon-animated-pages घटक होगा, यह NeonAnimationRunnerBehavior लागू करता है क्योंकि यह अंदर एनिमेशन चलाता है।

  2. हर आइटम जो neon-animated-pages में रखा NeonAnimatableBehavior, नहीं NeonAnimationRunnerBehavior कार्यान्वित करना होगा।

  3. एनीमेशन चलाने के लिए हमें अपने एनिमेटेबल घटकों के बीच किसी भी तरह स्विच करना होगा। नियॉन-एनिमेटेड-पेज की "चयनित" विशेषता हमें इसके साथ मदद करती है। जब selected = "0"neon-animated-pages आपको name-tag दिखाता है, जब selected = "1"neon-animated-pages आपको name-tag1 घटक दिखाता है।

  4. आप क्लिक के बाद दृश्य बदलना चाहते हैं लेकिन मुझे कोई क्लिक ईवेंट श्रोताओं को नहीं दिख रहा है। क्लिक ईवेंट जोड़ें जो चयनित विशेषता मान बदल देगा और यह काम करेगा।

संबंधित मुद्दे