召隆企博汇论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 603|回复: 0

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

[复制链接]

1

主题

3

回帖

144

积分

注册会员

Rank: 2

积分
144
发表于 2020-7-24 15:38:48 | 显示全部楼层 |阅读模式
本帖最后由 liwp 于 2020-7-27 12:07 编辑 ' C: `1 p) b) u5 L

$ i0 N2 u$ V* v7 s- q5 J  Mwxml:
" D; L) ^: y8 C1 z+ ]/ e5 H3 H
  1. <view class="comments_box" style="{{unfold?'max-height:'+GoodsInfo.reviewList.length*80+20+'rpx;':''}}">
    3 R* J0 w' U9 x) S6 t
  2.     <view class="unfoldText" wx:if="{{GoodsInfo.reviewList.length>1}}" bindtap="clickUnfold">{{unfoldText}}</view>/ I( {$ q* b4 O3 s4 w, a
  3.     <block wx:for="{{GoodsInfo.reviewList}}" wx:key='index'>
    3 a" p: A: R' d0 |6 H! G% `
  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);'>8 A2 N' s7 Z8 Z( T- `% g, y
  5.             <view class="comments_box_list_left">{{item.ReviewAppellation}}</view>
    ( R8 Y0 @/ s! S2 F9 _: Q
  6.             <view class="comments_box_list_right">{{item.ReviewContent}}</view> 7 x0 W3 t& Q4 [4 {! {
  7.         </view>8 T7 G0 T- u( F
  8.     </block>
    ( O% c- O+ }5 H
  9. </view>
复制代码
wxss:
, W3 |* x( s5 E
  1. .comments_box{0 ^- H0 ^1 X& Z! v
  2.   margin-top: 20rpx;
    7 Y2 a1 I3 j0 l. q* j
  3.   width: 100%;3 Q! G& _0 x7 n0 h
  4.   overflow: hidden;, J3 C. f  q' H
  5.   transition: max-height 0.5s;" a1 b$ e* D% F. ]: u; v
  6.   overflow: hidden;5 N/ g8 x& I7 |( Z
  7.   max-height: 105rpx;
    5 T- I8 {3 e+ S7 f1 M
  8. }
复制代码
我这里是使用动画来控制comments_box这个view的高度(max-height)变化时的过渡效果,我在wxss中给定固定值测试是可以实现效果的,但是因为这个view的高度是随数据变化的,所以我只能在wxml中通过GoodsInfo.reviewList的数组长度计算出高度之后赋值,结果测试后发现没有动画效果。4 X- W  c3 s1 w& p
所以我想在wxss中来使用GoodsInfo.reviewList的数组长度来计算高度,百度了一下,发现都是在wxml中使用的,跟我想要的不一样。
8 [7 S6 v$ X/ Z* F; a% C# A1 f- ]; |# R# v2 ~- v. p& \* o
' y7 F2 ?6 _5 l" b0 S% Y
% T5 \8 m4 b# f# C2 l- D
' i; ^7 C. p. M. F6 F

: n- ^+ z/ B" h: c( A7 O. A- l. y; X" H5 f
3 I: x9 \, |) w+ S
已解决:

# O& G7 {% x1 L! }( ]" ]/ S
在开发过程中,通常碰到样式非固定的情况,这时候就要使用变量来规定样式,例如,一个view的宽度需要使用变量:
1. 在wxss中,定义变量:width:var(--width--);
2. 在js中,定义变量:viewWidth,并给这个变量赋予想要的值
3. 在xml中,使用wxss中的变量和js中的变量:style="--width--: {{ viewWidth }}px"
+ \. |) M3 W+ x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 16:52 , Processed in 0.031208 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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