收藏
回答

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

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

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

如下:

获取结果:

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

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

9 个回答

  • 一π狐言
    一π狐言
    2021-03-10

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

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

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

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

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

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

    2021-03-10
    有用
    回复 1
    • Joke#
      Joke#
      2023-04-05
      good,用z-index和绝对定位可以解决,等于说只是被覆盖到下一层了,然后还是有dom存在的,就可以获取到高度
      2023-04-05
      回复
  • Hello W
    Hello W
    2021-03-10

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

    不渲染,怎么获取高度呢

    2021-03-10
    有用
    回复 2
    • less
      less
      2021-03-10
      试试 hidden
      2021-03-10
      回复
    • :D
      :D
      2021-03-10回复less
      hidden获取到的是0
      2021-03-10
      回复
  • 耿霄
    耿霄
    2021-03-10

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

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

    用hidden试一下行不行

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

    wx:if 换成hidden

    2021-03-10
    有用
    回复
  • 有棱角的胖子
    有棱角的胖子
    2021-03-10

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

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