召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2489|回复: 0

小程序 如何在wxss中使用js里的变量?

[复制链接]

1

主题

3

回帖

144

积分

注册会员

Rank: 2

积分
144
发表于 2020-7-24 15:38:48 | 显示全部楼层 |阅读模式
本帖最后由 liwp 于 2020-7-27 12:07 编辑
" x$ \1 x+ @  Z
: X) o( ?6 G/ E2 y3 B1 ]* Z2 xwxml:8 x6 p4 Y( @, ]- F$ K6 j
  1. <view class="comments_box" style="{{unfold?'max-height:'+GoodsInfo.reviewList.length*80+20+'rpx;':''}}">
    6 I7 k* D  r* ]- c4 L* l
  2.     <view class="unfoldText" wx:if="{{GoodsInfo.reviewList.length>1}}" bindtap="clickUnfold">{{unfoldText}}</view>  _$ I0 n7 i% {; ]5 |1 Z
  3.     <block wx:for="{{GoodsInfo.reviewList}}" wx:key='index'>& L. w7 Z9 f7 ^3 J9 }# J. j
  4.         <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);'>
    # P1 M( R& X  h: R+ j
  5.             <view class="comments_box_list_left">{{item.ReviewAppellation}}</view>
    ) z! K& B* X9 S1 t
  6.             <view class="comments_box_list_right">{{item.ReviewContent}}</view> ( d( Y- E$ n/ `* W
  7.         </view>$ s# z$ ~4 j) N
  8.     </block> / H) ^) N* O  T) }
  9. </view>
复制代码
wxss:+ H4 F" y, }$ M6 q
  1. .comments_box{. R5 w  j8 ], Y* R) B- q, n9 B
  2.   margin-top: 20rpx;
    - d% `1 p- b" ^& w3 \
  3.   width: 100%;
    5 h' p  N8 Z: R9 e6 Y
  4.   overflow: hidden;9 {9 v& ~- P+ l0 F- N* R& t% S
  5.   transition: max-height 0.5s;
    6 U$ z5 u- K% k+ y0 g* \" K
  6.   overflow: hidden;9 G6 a$ B1 X3 u- q% N, z
  7.   max-height: 105rpx;: P" [" T$ }4 v: v: M" p! _
  8. }
复制代码
我这里是使用动画来控制comments_box这个view的高度(max-height)变化时的过渡效果,我在wxss中给定固定值测试是可以实现效果的,但是因为这个view的高度是随数据变化的,所以我只能在wxml中通过GoodsInfo.reviewList的数组长度计算出高度之后赋值,结果测试后发现没有动画效果。: v/ q3 X0 S6 `
所以我想在wxss中来使用GoodsInfo.reviewList的数组长度来计算高度,百度了一下,发现都是在wxml中使用的,跟我想要的不一样。7 q: Z! k0 e8 P3 H) L) s- |# w. N( b
7 O7 m8 J3 r8 ]1 k- d( d  a
' K) C, k1 S, f4 c

( `6 A: D( g, b' U3 N! B

7 C+ G: B1 m8 P8 y$ k$ C
' p0 b9 f  Z5 K( R; Q  R: v/ D
* \, ~- t: |/ {$ w5 }, D  Q
* N1 c' T0 W4 z2 k. H/ L已解决:
/ a+ R; N9 v; K# T+ `' z4 t( e
在开发过程中,通常碰到样式非固定的情况,这时候就要使用变量来规定样式,例如,一个view的宽度需要使用变量:
1. 在wxss中,定义变量:width:var(--width--);
2. 在js中,定义变量:viewWidth,并给这个变量赋予想要的值
3. 在xml中,使用wxss中的变量和js中的变量:style="--width--: {{ viewWidth }}px"

5 ?! v8 k+ h1 `4 F0 t7 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|召隆企博汇 ( 粤ICP备14061395号 )

GMT+8, 2026-6-13 22:43 , Processed in 0.040932 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表