小程序scroll-view 如何获取滚动条滚动的高度 scrollTop

通过绑定 scroll 事件 bindscroll="handleScroll" ,然后通过e.detail.scrollTop 是可以获取到的,但是,我希望通过代码而不是事件中获取,改怎么做呢?

尝试了一下网上说的

  scroll(e) {


    const query = wx.createSelectorQuery()
    //scroller2 scroll-view 的 id 属性
    query.select('#scroller2').boundingClientRect()
    query.selectViewport().scrollOffset()
    query.exec(function(res){
      res[0].top       // #the-id节点的上边界坐标
      res[1].scrollTop // 显示区域的竖直滚动位置
      
      console.log(res)

      // console.log('aaa=' + res[0].top)
      // console.log('bbb=' + res[1].scrollTop)
    })
  },

res[1].scrollTop 得到的结果始终是 一个固定值。

阅读 9.6k
1 个回答

selectViewport是针对可视区域的信息吧,你需要的应该是获取节点的scrollTop

const query = wx.createSelectorQuery()
query.select('#scroller2').scrollOffset()
query.exec(function(res){
   console.log(res)
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题