微信小程序-动态获取view高度

微信小程序-动态获取view高度,第1张

因为对小程序父标返厅签和子标签的布局还不是特别了解,不像ios,父标签固定,子标签通过mansory去布局距离父的底部多少即可。小程序的我能想到的就是动态算出每一个标签的高度,然后总高度减掉就是想得到的子标签的高度了。如果有哪位大神可以指导一二,感激不尽~~~

<view id='viewID'>

<view id="scriptID">

        var query = wx.createSelectorQuery()

 纤悄       //选择id

        query.select('#numID').boundingClientRect()

        query.select('#scriptID').boundingClientRect()

        query.exec(function (res) {

          //res就是 所有标签为mjltest的元素的信息 的数组

          console.log('所有:',res)

          /毁世渣/取高度

          that.setData({

            storyHeight:that.data.detailHeight -(res[0].height+res[1].height)

          })

        })

在小程序中没有DOM *** 作的方法,所以获取不到相应的DOM节点进行高度设置。

解决方案

1.css方案

<view class="{{isFold ?'flod':'extend' }}" bindtap="flodFn">

我是一个很坦逗长的文字

<让岩卖/view>

.flod{

//折叠枣早样式

}

.extend{

//展开样式

}

flodFn:function(){

this.setData({

isFold: !this.isFold

})

}

2.动态渲染方案

<view bindtap="flodFn">

<view wx:if="{{isFold}}" >

我是一个很长的文字

</view>

<view wx:else>

我是一个很长的文字

</view>

</view>

flodFn:function(){

this.setData({

isFold: !this.isFold

})

}

需求:为了引导用户去支付我们的产品,新增需求:1、文本多于一行的时候,只显示一行。2、文本等于1行的时候,全部虚手隐藏显示阴影。

实现思路:1、css里设置view的line-height,我这里设置了25px。

2、然后动态算出这个view在填充完数据后的高度,我这里填充完数据是200px。3、所以行数=view的高度/line-height,也就是200px/25px = 8行。

注意:这里的view一定要是填蚂誉旁充完数据后的高度,也闷橡就是this.setData后的高度。

顺便提下,我这里给文字设置阴影的方法是:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8237589.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存