本帖最后由 liwp 于 2020-7-27 12:07 编辑 3 _# j8 j/ U# V! C K
7 a# |, v* h* P1 e. P# t) u
wxml:
: A7 g$ k- ^9 i9 ?$ q" E- <view class="comments_box" style="{{unfold?'max-height:'+GoodsInfo.reviewList.length*80+20+'rpx;':''}}">
& w I0 b' U: ?% N7 s - <view class="unfoldText" wx:if="{{GoodsInfo.reviewList.length>1}}" bindtap="clickUnfold">{{unfoldText}}</view>1 N0 ?) J% P. ~* d+ I* {
- <block wx:for="{{GoodsInfo.reviewList}}" wx:key='index'>
1 f8 s1 L1 q7 p( q$ t) `, \ - <view class="comments_box_list" style='transition: transform 300ms linear 0ms;transform: translateY(-{{unfold?0:((GoodsInfo.reviewList.length<1)?(index==0?(1-GoodsInfo.reviewList.length)*30:(1-GoodsInfo.reviewList.length+index)*30):index*30)}}rpx);'>+ h y6 u) d" J8 H& i9 {# E* J
- <view class="comments_box_list_left">{{item.ReviewAppellation}}</view>
$ P* c$ q2 T/ ?& X' S - <view class="comments_box_list_right">{{item.ReviewContent}}</view> . ^9 [: g0 Z& J) C, ~
- </view>
. @. o i- J. U8 D- Z- R - </block>
' p* q* c4 p9 `! H! z( K - </view>
复制代码 wxss:
4 ]4 Z' Q! j1 Q8 S9 W- .comments_box{
" N; o/ j) J3 F, C: n - margin-top: 20rpx;
; M# q: x$ e3 [8 H: c - width: 100%;
. K- E4 E6 k' Y) z - overflow: hidden;# _- l2 ~- x5 L3 {' u1 B: C! J
- transition: max-height 0.5s;% U! G( W7 R% R7 S4 ~& L& p
- overflow: hidden;
, b0 o4 Y9 g: k9 e* g - max-height: 105rpx;' L; j( r/ \& h% v* V. v
- }
复制代码 我这里是使用动画来控制comments_box这个view的高度(max-height)变化时的过渡效果,我在wxss中给定固定值测试是可以实现效果的,但是因为这个view的高度是随数据变化的,所以我只能在wxml中通过GoodsInfo.reviewList的数组长度计算出高度之后赋值,结果测试后发现没有动画效果。
; |+ Z+ T6 a- L) }2 B: o r所以我想在wxss中来使用GoodsInfo.reviewList的数组长度来计算高度,百度了一下,发现都是在wxml中使用的,跟我想要的不一样。 ?) C4 l. F! r4 v. Y$ x' d& A2 `
2 {+ k* I/ x: t6 F" Z
+ m; ?6 y! S% C, O* k: ?3 S
5 {( b9 t9 ?, J( Q
4 @3 B) M3 @/ @' s- [* M
) f9 i2 q# J( W0 d
" W; F, c' b5 d9 S. D% v! ~+ l/ M. ]/ a5 {6 K/ x& ?
已解决:
! o8 i2 d/ t, g1 a- l2 Z9 n$ w在开发过程中,通常碰到样式非固定的情况,这时候就要使用变量来规定样式,例如,一个view的宽度需要使用变量: 1. 在wxss中,定义变量:width:var(--width--); 2. 在js中,定义变量:viewWidth,并给这个变量赋予想要的值 3. 在xml中,使用wxss中的变量和js中的变量:style="--width--: {{ viewWidth }}px"
- s; k: ]9 X7 A1 F8 w |