小程序之下拉展开更多 动画效果
- 爵特猛
- 2020-8-24 12:13
- 其它
- 1351
先放效果图
原理:js动态改变列表容器的高度,css加入动画效果,即可实现。
首先,js判断列表长度大于设定值则列表容器高度默认为设定值,我这里1行的高度为140rpx,默认显示两行,则默认高度=142*2。
列表容器:
is_show_class:作为记录“展开”、“收起”的状态
<view class="class_box" style="height:{{item.is_show_class==0 && item.class.list.length>2?2*142:item.class.list.length*142}}rpx">
.class_box{ width: 100%; transition: height 0.3s; overflow: hidden; }
更多按钮:
给图标“下箭头”做个判断,展开时添加一个类,用于旋转图标
html:
<view class="train_bottom_line3" catchtap="showMoreClass" data-index="{{index}}" wx:if="{{item.class.list.length>show_class_num}}"> <image class="more_icon {{item.is_show_class==1&&'more_icon_rotate'}}" src="{{__IMAGE_PATH__}}/train/jiantou_down.png"></image> <view class="more" wx:if="{{item.is_show_class==1}}">收起</view> <view class="more" wx:else>更多 {{item.class.count-show_class_num}} 个课程</view> </view>
css:
.train_bottom_line3 .more_icon{ width: 50rpx; height: 50rpx; transition: transform 0.3s; } .train_bottom_line3 .more_icon_rotate{ transform: rotate(180deg); }
本文为爵特猛原创文章,转载无需和我联系,但请注明来自爵特猛博客www.juetemeng.com
爵特猛