收藏
回答

为什么元素的scrollHight一直为0?

<view bind:tap="getInfo" id="t" style="height: 50px;background-color: aqua;overflow-y: auto;">
   <view style="height: 200px;"></view>
</view>
   
function getInfo() {
  wx.createSelectorQuery().select('#t').fields({
      datasettrue,
      sizetrue,
      scrollOffsettrue,
      properties: ['scrollX''scrollY''offsetHeight'],
      computedStyle: ['margin''backgroundColor'],
      contexttrue,
    }, function (res{
      // res.dataset    // 节点的dataset
      // res.width      // 节点的宽度
      // res.height     // 节点的高度
      // res.scrollLeft // 节点的水平滚动位置
      // res.scrollTop  // 节点的竖直滚动位置
      // res.scrollX    // 节点 scroll-x 属性的当前值
      // res.scrollY    // 节点 scroll-y 属性的当前值
      // // 此处返回指定要返回的样式名
      // res.margin
      // res.backgroundColor
      // res.context    // 节点对应的 Context 对象
      console.log("节点信息:", res)
    }).exec()
}


滚动后打印节点信息也一直是0,scrollTop和scrollHeight一直是0:

最后一次编辑于  2023-11-27
回答关注问题邀请回答
收藏

3 个回答

  • 郑钱花
    郑钱花
    2023-11-27

    改用scroll-view,不用view

    https://developers.weixin.qq.com/s/PIfh22mG7tNw

    2023-11-27
    有用 1
    回复 8
    • origin
      origin
      2023-11-27
      好,我改了,我看文档说viewport也可以获取scrolltop,viewport指view吗?还是什么意思?
      2023-11-27
      回复
    • 郑钱花
      郑钱花
      2023-11-27回复origin
      viewport是指视口,也就是页面
      2023-11-27
      回复
    • origin
      origin
      2023-11-27
      那文档说了节点也可以是viewport,那不用scroll-view怎么获取viewport的scrollTop?
      2023-11-27
      回复
    • 郑钱花
      郑钱花
      2023-11-27回复origin
      哪句话说的,截图
      2023-11-27
      回复
    • origin
      origin
      2023-11-27回复郑钱花
      2023-11-27
      回复
    查看更多(3)
  • YoKo
    YoKo
    2023-11-27

    表示的是滚动条滚动的高度,初始未滚动时的高度为0

    2023-11-27
    有用 1
    回复 8
    • origin
      origin
      2023-11-27
      你这个定义不是应该是指scrollTop吗?
      scrollHeight是一个元素内容高度的度量,我的内容高度是200px,scrollHeight应该是200才对
      2023-11-27
      回复
    • YoKo
      YoKo
      2023-11-27回复origin
      看错了稍等我去试下
      2023-11-27
      回复
    • origin
      origin
      2023-11-27回复YoKo
      我看了下文档:获取节点的 scrollLeft scrollTop,节点必须是 scroll-view 或者 viewport。

      viewport是什么?是指view元素吗?
      2023-11-27
      回复
    • origin
      origin
      2023-11-27回复YoKo
      我把view元素改为scroll-view就可以获取了
      2023-11-27
      1
      回复
    • YoKo
      YoKo
      2023-11-27回复origin
      我也看见了
      2023-11-27
      回复
    查看更多(3)
  • momo
    momo
    2023-11-27

    你的外层元素没滚动 肯定是0啊

    2023-11-27
    有用
    回复 2
    • origin
      origin
      2023-11-27
      没滚动,scrollHeight也不应该是0.
      2023-11-27
      回复
    • momo
      momo
      2023-11-27回复origin
      OK  我也看到你的标签了
      2023-11-27
      回复
登录 后发表内容