微信小程序怎么判断元素在可视区域?

除了 scroll-view 组件,微信小程序还有什么其他方法可以知道元素是不是在可视区域呢###

阅读 16.2k
1 个回答

小程序的比较简单:
dom.top 元素距离视窗顶部的距离 注意随着滚动变化。
dom.height 元素的高度。
windowHeight 视窗的高度。

如果元素的top在视窗高度范围内 就证明在可见区域。
if( el.top<windowHeight && top>0 ){ 就可以了判断了 }

再严谨一些 加上元素自身的高度。

if( el.top <windowHeight && el.top+el.height>0 ){

 在范围内

}

变量通过以下两个方式获取:

//屏幕的高度
 var SystemInfo = wx.getSystemInfoSync()
  console.log(SystemInfo.windowHeight)
 //元素的高度 
    var query = wx.createSelectorQuery();
    //选择id
    var that = this;
    query.select('#yuyue').boundingClientRect(function (rect) {
       console.log('元素的:'+rect.top)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏