溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序?qū)崿F(xiàn)動態(tài)列表項的順序加載動畫

發(fā)布時間:2020-08-23 15:41:05 來源:腳本之家 閱讀:707 作者:MarieDreamer 欄目:web開發(fā)

本文實例為大家分享了微信小程序?qū)崿F(xiàn)動態(tài)列表項的順序加載動畫,供大家參考,具體內(nèi)容如下

效果

微信小程序?qū)崿F(xiàn)動態(tài)列表項的順序加載動畫

 思路

1、最開始用了純CSS動畫animation,發(fā)現(xiàn)動畫需要重復寫,于是換使用transition動畫。

2、使用onReady()可以讓頁面加載好再顯示動畫以免動畫提前結(jié)束。

代碼

wxml

<!-- style中的主要為了區(qū)分已加載好的項和新數(shù)據(jù),只有新數(shù)據(jù)有動畫 -->
<view wx:for="{{lists}}" class="common"
 style='opacity:{{index >= (page-1)*2?op:"1"}};margin-left:{{index >= (page-1)*2?mr:"0"}}rpx;transition:all {{index >= (page-1)*2?(index-(page-1)*2)*0.5+0.5:"0"}}s;' >
 第{{index}}條
</view>
 
<view bindtap='next' style='position:relative;right:-150px;top:50rpx;'>下一頁</view>

wcss

page{
 background: #eee
}
.common{
  height: 100rpx;
  opacity: 0;
  margin-left: -50rpx;
  background: #fff;
  margin-top: 20rpx;
  line-height: 100rpx;
  padding: 25rpx;
}

js

Page({
 data: {
  list: ['啦啦啦', '嚯嚯嚯'],
  lists: ['啦啦啦', '嚯嚯嚯'],
  page:1
 },
 
 onLoad: function (options) {
 
 },
 
 onReady:function(e){
  this.setData({
   op: 1,
   mr:0
  })
 },
 
 next:function(e){
  this.data.page ++;
  //模擬從后臺獲取到了下一頁的數(shù)據(jù),附加到原有數(shù)組上
  var lists = this.data.lists.concat(this.data.list)
  this.setData({
   lists:lists,
   page: this.data.page,
   op: 0,
   mr: -50
  })
  this.onReady();
 },
})

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI