收藏
回答

使用wx:if隐藏元素,值为false时获取不到宽高?怎么解决

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

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

如下:

获取结果:

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

回答关注问题邀请回答
收藏

10 个回答

  • 社区技术运营专员-CJiang
    社区技术运营专员-CJiang
    03-10

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),并详细描述下复现的流程。

    03-10
    有用
    回复
  • initially
    initially
    03-10

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

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

    03-10
    有用 1
    回复 1
    • :D
      :D
      03-10
      是这样的,所以想问问有没有解决的办法,试了一下hidden,但是获取到是0,
      我是想给一个不固定高度的弹窗加一个显示时候的动画,一开始让它向下平移全部高度,然后显示的时候再向上平移出现
      03-10
      回复
  • Rua!
    Rua!
    03-10

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

    03-10
    有用
    回复
  • A notorious liar(小花猫)
    A notorious liar(小花猫)
    03-10

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

    03-10
    有用
    回复
  • undefined
    undefined
    03-10

    03-10
    有用
    回复 1
    • :D
      :D
      03-10
      试了一下hidden,但是获取到的是0
      03-10
      回复
  • 🌕
    🌕
    03-10

    不渲染,怎么获取高度呢

    03-10
    有用
    回复 2
    • 🌕
      🌕
      03-10
      试试 hidden
      03-10
      回复
    • :D
      :D
      03-10回复🌕
      hidden获取到的是0
      03-10
      回复
  • |G.XIAO|
    |G.XIAO|
    03-10

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

    03-10
    有用
    回复
  • 几点
    几点
    03-10

    用hidden试一下行不行

    03-10
    有用
    回复
  • 默
    03-10

    wx:if 换成hidden

    03-10
    有用
    回复
  • Brother斌🎈
    Brother斌🎈
    03-10

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

    03-10
    有用
    回复
登录 后发表内容
问题标签