動畫效果:
wxml:
<view class='main'> <!--正面的框 --> <view class="box b1" animation="{{animationMain}}" bindtap='rotateFn' data-id="1" > <image src=""></image> </view> <!--背面的框 --> <view class="box b2" animation="{{animationBack}}" bindtap='rotateFn' data-id="2"> <image src=""></image> </view></view>wxss:
.main { position: absolute; top: 50%; left: 50%; width: 300px; height: 300px; transform: translate(-50%,-50%); -webkit-perspective: 1500;//子元素獲得透視效果 -moz-perspective: 1500;} .box { position: absolute; top: 0; left: 0; width: 300px; height: 300px; transition: all 1s; backface-visibility: hidden; border-radius: 10px; cursor: pointer;}.box image{ border-radius: 10px; width: 100%; height: 100%;}.b1{ background:skyblue;}.b2 { background:tomato; transform: rotateY(-180deg);}js: Page({ data: { animationMain:null,//正面 animationBack:null,//背面 }, rotateFn(e) { var id = e.currentTarget.dataset.id this.animation_main = wx.createAnimation({ duration:400, timingFunction:'linear' }) this.animation_back = wx.createAnimation({ duration:400, timingFunction:'linear' }) // 點擊正面 if (id==1) { this.animation_main.rotateY(180).step() this.animation_back.rotateY(0).step() this.setData({ animationMain: this.animation_main.export(), animationBack: this.animation_back.export(), }) } // 點擊背面 else{ this.animation_main.rotateY(0).step() this.animation_back.rotateY(-180).step() this.setData({ animationMain: this.animation_main.export(), animationBack: this.animation_back.export(), }) } },})總結
以上所述是小編給大家介紹的微信小程序實現點擊卡片 翻轉效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
新聞熱點
疑難解答