html52.com
我爱小程序-开发者交流社区

通过wx.createSelectorQuery().select(xx)获取高有时为null?

function getEleHeight(demo{
  return new Promise((resolve, reject) => {
    wx.createSelectorQuery().select(demo).boundingClientRect((rect) => {
      if(rect){
        resolve(rect)
      }else {
        Promise.reject('获取不到id rect的值为'+rect)
      }
    }).exec()
  })
}

有时候调用这个代码为null 因为页面渲染的时候 获取不到这个id 有什么好的解决办法 现在做首页 有个监听导航 有时候滑动太快 这个获取离顶部距离有偏差 
我加了延迟600毫秒但还是获取为null 有时候滑太快 导航里顶部距离为0 

网友回复

Admin²⁰²⁰:

这个要渲染完成后调用才能正常获取。

我看你的描述大概知道你的需求。性能更高的替代方案可以用:createIntersectionObserver

相关文档:

IntersectionObserver | 微信开放文档

https://developers.weixin.qq.com/miniprogram/dev/api/wxml/wx.createIntersectionObserver.html

卢霄霄:

调用这个方法的地方 截个图呢

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付