Semangat Pagi..
Tutorial kali ini mengenai tidak bisanya menggunakan 2 (dua) atau lebih dalam penggunaan amp-animation di template AMP .
Template yang saya gunakan ini menggunakan animasi scroll to top dan animasi show/hide social share , akan tetapi hanya satu yang bisa muncul dihalaman.
<script async='async' custom-element='amp-position-observer' src='https://cdn.ampproject.org/v0/amp-position-observer-0.1.js'/>
<script async='async' custom-element='amp-animation' src='https://cdn.ampproject.org/v0/amp-animation-0.1.js'/>
Dibawah ini adalah amp-animation yang saya gunakan :
<!-- TopSlideShareBuzz Start -->
<b:if cond='data:blog.pageType in {"item","static_page"}'>
<amp-animation id="showAnim" layout="nodisplay">
<script type="application/json"> { "duration": "200ms", "fill": "both", "iterations": "1", "direction": "alternate", "animations": [ { "selector": "#topSlideShareBuzzButton", "keyframes": [ { "opacity": "1", "visibility": "visible" } ] } ] }
</script>
</amp-animation>
<amp-animation id="hideAnim" layout="nodisplay">
<script type="application/json"> { "duration": "200ms", "fill": "both", "iterations": "1", "direction": "alternate", "animations": [ { "selector": "#topSlideShareBuzzButton", "keyframes": [ { "opacity": "0", "visibility": "hidden" } ] } ] }
</script>
</amp-animation>
<div id="topSlideShareBuzzButton" class="topSlideShareBuzz" >
<div class='share-buzz'>
<amp-social-share height='44px' layout='responsive' type='whatsapp' width='60px'/>
<amp-social-share data-param-app_id='100000442213850' height='44px' layout='responsive' type='facebook' width='60px'/>
<amp-social-share height='44px' layout='responsive' type='twitter' width='60px'/>
<amp-social-share height='44px' layout='responsive' type='line' width='60px'/>
<amp-social-share height='44px' layout='responsive' type='sms' width='60px'/>
<amp-social-share height='44px' layout='responsive' type='system' width='60px'/>
</div>
</div>
<div class="trigger">
<amp-position-observer on="enter:hideAnim.start; exit:showAnim.start" layout="nodisplay">
</amp-position-observer>
</div>
</b:if>
<!-- End TopSlideShareBuzz -->
<!-- Scroll Kaluhur Start -->
<b:if cond='data:blog.pageType != "static_page" and data:blog.pageType != "error_page"'>
<amp-animation id="showAnim" layout="nodisplay">
<script type="application/json"> { "duration": "200ms", "fill": "both", "iterations": "1", "direction": "alternate", "animations": [{ "selector": "#scrollKaLuhurButton", "keyframes": [{ "opacity": "1", "visibility": "visible" }] }] }
</script>
</amp-animation>
<amp-animation id="hideAnim" layout="nodisplay">
<script type="application/json"> { "duration": "200ms", "fill": "both", "iterations": "1", "direction": "alternate", "animations": [{ "selector": "#scrollKaLuhurButton", "keyframes": [{ "opacity": "0", "visibility": "hidden" }] }] }
</script>
</amp-animation>
<div id="marker">
<amp-position-observer on="enter:hideAnim.start; exit:showAnim.start" layout="nodisplay">
</amp-position-observer>
</div>
<button id="scrollKaLuhurButton" on="tap:kaluhur.scrollTo(duration=200)" class="scrollKaLuhur">
<svg viewBox="0 0 24 24">
<path fill="#fff" d="M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z" />
</svg>
</button>
</b:if>
<!-- End Scroll Kaluhur -->
pada id animasi scroll to top inilah yang saya coba ganti , dari showAnim menjadi fadeTransition dan hideAnim menjadi slideTransition.
Hasilnya.. animasi scroll to top dan show/hide social share bisa muncul di halaman.
Pertanyaannya kenapa dengan hanya mengganti id animation masalah sebelumnya bisa terselesaikan?
Dari sini saya belum paham kenapa bisa begitu๐ , saya coba cari jawabannya di search engine belum ketemu juga.
Saya menganggap ini terjadi crash kedua animasi id yang sama ketika digunakan berbarengan pada id html , artinya ketika animation id di gunakan lebih dari satu id html maka hanya satu id html yang bisa bekerja , entahlah..๐, mudah-mudahan saya salah kaprah mengartikannya..๐ ๐
Demikianlah tutorial ini saya buat..
Semoga bermanfaat..
Selamat berkreasi..
Semangat Berbagi...