召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2260|回复: 0

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

[复制链接]

1

主题

3

回帖

144

积分

注册会员

Rank: 2

积分
144
发表于 2020-7-24 15:38:48 | 显示全部楼层 |阅读模式
本帖最后由 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
  1. <view class="comments_box" style="{{unfold?'max-height:'+GoodsInfo.reviewList.length*80+20+'rpx;':''}}">
    & w  I0 b' U: ?% N7 s
  2.     <view class="unfoldText" wx:if="{{GoodsInfo.reviewList.length>1}}" bindtap="clickUnfold">{{unfoldText}}</view>1 N0 ?) J% P. ~* d+ I* {
  3.     <block wx:for="{{GoodsInfo.reviewList}}" wx:key='index'>
    1 f8 s1 L1 q7 p( q$ t) `, \
  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);'>+ h  y6 u) d" J8 H& i9 {# E* J
  5.             <view class="comments_box_list_left">{{item.ReviewAppellation}}</view>
    $ P* c$ q2 T/ ?& X' S
  6.             <view class="comments_box_list_right">{{item.ReviewContent}}</view> . ^9 [: g0 Z& J) C, ~
  7.         </view>
    . @. o  i- J. U8 D- Z- R
  8.     </block>
    ' p* q* c4 p9 `! H! z( K
  9. </view>
复制代码
wxss:
4 ]4 Z' Q! j1 Q8 S9 W
  1. .comments_box{
    " N; o/ j) J3 F, C: n
  2.   margin-top: 20rpx;
    ; M# q: x$ e3 [8 H: c
  3.   width: 100%;
    . K- E4 E6 k' Y) z
  4.   overflow: hidden;# _- l2 ~- x5 L3 {' u1 B: C! J
  5.   transition: max-height 0.5s;% U! G( W7 R% R7 S4 ~& L& p
  6.   overflow: hidden;
    , b0 o4 Y9 g: k9 e* g
  7.   max-height: 105rpx;' L; j( r/ \& h% v* V. v
  8. }
复制代码
我这里是使用动画来控制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
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-15 15:32 , Processed in 0.031231 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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