使用wx:if隐藏元素,值为false时获取不到宽高?怎么解决
发布于 6 年前 作者 kongjuan 5808 次浏览 来自 问答

在开发的时候遇到这个问题,该元素一开始是通过wx:if值为false隐藏起来的,但是我想要获取它的高度,但获取不到,值为true才能获取到!

求怎么在值为false的时候获取到高度的方法!!!

如下:

获取结果:

如果值为true是可以获取到的

9 回复

不渲染,怎么获取高度呢

用hidden试一下行不行

wx:if,false 不会渲染,肯定取不到,需要换个方式

先初始化的时候遮盖页面内容,获取对应高度,在获取完之后隐藏掉,在放出页面展示

dom里面不存在这个元素那就是宽高所有的参数都是0 你可以用样式来控制 visible:hidden这个是不显示元素 但是在dom里面这个元素是被渲染的就不会拿不到参数 或者设置透明度 z-index也可以达到这个效果具体按需求来.向外扩展的话如果这个元素有点击事件会存在穿透问题 这个自行百度

wx:if 换成hidden

在框架中,使用 wx:if="" 来判断是否需要渲染该代码块

你都不渲染,怎么获取高度呢。

要不获取成功后再在回调把它置为false

回到顶部