小程序-列表展開收起動畫效果

效果如下

c3bb8bfaf1d6ea2e9bc9572c423227a4.gif

方法一:

<view class='fold'> 
  <scroll-view scroll-y class='scrollFold'>
    <view style='top:{{ischangeFold?480:(dataList.length>5?0:btnHeight)}}rpx;' catchtap='changeFold'>展開</view>
    <text wx:for='{{dataList}}' wx:key='index' style='transition: transform 300ms linear 0ms;transform: translateY({{ischangeFold?550-index:((dataList.length<5)?(index==0?(5-dataList.length)*120+70:(5-dataList.length+index)*120+70):index*120+70)}}rpx); transform-origin: 50% 50% 0px;margin-bottom:{{index==dataList.length-1?100:""}}rpx;z-index:{{-index}};'>{{item.text}}</text>
  </scroll-view>
</view>

方法二:

<view class='fold' style='height:{{!ischangeFold?((dataList.length>5)?114*5 +66 :(dataList.length)*114 + 66):114}}rpx'>
          <scroll-view scroll-y class='scrollFold'>
            <view wx:if='{{!ischangeFold}}' style='width:100%;text-align:right;color:#626262;font-size:26rpx;position:absolute;top:0;z-index:100;left:0;' catchtap='closeChangeFold'> <image style='width:26rpx;height:14rpx;vertical-align:middle;margin-right:10rpx;' src='/image/indexCloseLong.png'></image> 收起</view>
            <--bindconfirm是當(dāng)前點擊項相應(yīng)的事件-->
            <text wx:for='{{dataList}}' catchtap='{{ischangeFold?"changeFold":"bindconfirm"}}' wx:for-item='itemOp' wx:for-index='indexOp' wx:key='' style='transition: transform 300ms linear 0ms;transform: translateY({{ischangeFold?(indexOp)*5:indexOp*114 + 66}}rpx); transform-origin: 50% 50% 0px;z-index:{{20-indexOp}};'
              data-text='{{itemOp.text}}' data-indexop='{{indexOp}}'>{{itemOp.text}}</text>
          </scroll-view>
        </view>

css:

page{
  background: pink;
}
.fold{
  width: 670rpx;
  height: 720rpx;
  position: fixed;
  bottom: 200rpx;
  left: 50%;
  transform: translateX(-50%);
}

.scrollFold{
  height:100%;
  width: 100%;
}
.fold text{
  position: absolute;
  line-height: 90rpx;
  font-size: 32rpx;
  width: 100%;
  border-radius: 16rpx;
  background: #fff;
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
  display: block;
  text-align: center;

}
.fold view{
  position: fixed;
  width: 100%;
  text-align: right;
  font-size: 36rpx;
  z-index: 10;
}

js:

const dataList = [{ text: '11111111111' }, { text: '22222222222222' }, { text: '3333333333' }, { text: '22222222222222' }, { text: '3333333333' }, { text: '22222222222222' }, { text: '3333333333' }];
const width = getApp().globalData.width;

Page({
  data: {
    dataList: dataList,
    ischangeFold: true
  },
  onShow: function () {
    
  },
  click:function(){
    this.setData({
      click: !this.data.click
    })
  },
  changeFold: function () {
    let _this = this;
    wx.createSelectorQuery().selectAll('.fold_text').boundingClientRect(data => {
      console.log('===', data);
      //獲取屏幕顯示區(qū)域的高度
      this.setData({
        ischangeFold: !_this.data.ischangeFold,
      });
      console.log(_this.data.btnHeight);
    }).exec()
  },
  closeChangeFold: function () {
    this.setData({
      ischangeFold: true,
    });
  },
})

方法一是寫來練手的翻斟,方法二是寫在項目里的逾礁,相比來說,方法一的效果好點访惜,但是框的高度寫死得情況下嘹履,如果下一層有點擊事件,下層點擊事件會不生效疾牲;方法二是框的高度隨列表大小改變的植捎,使用的靈活一些

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市阳柔,隨后出現(xiàn)的幾起案子焰枢,更是在濱河造成了極大的恐慌,老刑警劉巖舌剂,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件济锄,死亡現(xiàn)場離奇詭異,居然都是意外死亡霍转,警方通過查閱死者的電腦和手機(jī)荐绝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來避消,“玉大人低滩,你說我怎么就攤上這事⊙遗纾” “怎么了恕沫?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長纱意。 經(jīng)常有香客問我婶溯,道長,這世上最難降的妖魔是什么偷霉? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任迄委,我火速辦了婚禮,結(jié)果婚禮上类少,老公的妹妹穿的比我還像新娘叙身。我一直安慰自己,他們只是感情好硫狞,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布信轿。 她就那樣靜靜地躺著赞警,像睡著了一般。 火紅的嫁衣襯著肌膚如雪虏两。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天世剖,我揣著相機(jī)與錄音定罢,去河邊找鬼。 笑死旁瘫,一個胖子當(dāng)著我的面吹牛祖凫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酬凳,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼惠况,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宁仔?” 一聲冷哼從身側(cè)響起稠屠,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎翎苫,沒想到半個月后权埠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡煎谍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年攘蔽,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呐粘。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡满俗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出作岖,到底是詐尸還是另有隱情唆垃,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布鳍咱,位于F島的核電站降盹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏谤辜。R本人自食惡果不足惜蓄坏,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望丑念。 院中可真熱鬧涡戳,春花似錦、人聲如沸脯倚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至恍涂,卻和暖如春宝惰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背再沧。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工尼夺, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炒瘸。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓淤堵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親顷扩。 傳聞我的和親對象是個殘疾皇子拐邪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355