收藏
回答

小程序createSelectorQuery获取dom节点top值有误

有个需求是点击标签跳转到某一个位置,类似锚点功能。但是createSelectorQuery获取元素TOP值在内容有image组件且mode="widthFix"的情况下,获取的top值是有误的,测试了很久,发现获取的值总是有误差,测试发现,误差来源获取是图片的原始高度,但是图片的模式却是高度自动适应。这应该是个bug吧。

最后一次编辑于  2018-06-26
回答关注问题邀请回答
收藏

3 个回答

  • 王雨
    王雨
    2018-08-13

    我获取的是height值也是不准确的,把mode="widthFix"改成mode=""就ok了

    2018-08-13
    赞同
    回复
  • 盛夏以澜。
    盛夏以澜。
    2018-06-26

    mode = "" 或者其他属性,就是获取的正常top


    2018-06-26
    赞同
    回复
  • 晨
    2018-06-26

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    2018-06-26
    赞同
    回复 7
    • 盛夏以澜。
      盛夏以澜。
      2018-06-26

      wechatide://minicode/qtBngsmT7ItH

      查看一下

      2018-06-26
      回复
    • 晨
      2018-06-26回复盛夏以澜。

      看你是在onLoad的时候直接query的,这个时候可能图片还没加载完成,拿到的高度是image组件的默认高度。建议在图片加载完成后再query试一下

      2018-06-26
      回复
    • 盛夏以澜。
      盛夏以澜。
      2018-06-27回复

      是可以,但是这里存在一个问题就是,页面有很多图片的时候我并不知道什么时候已经全部加载完成了。

      2018-06-27
      回复
    • M.J
      M.J
      2018-07-30

      createSelectorQuery,在onReady中调用时,获取的值也是有问题的。现在是使用的setTimeout去减少这个问题的出现,但是没法完全避免。现在有方法可以监听页面全部渲染完成吗?

      2018-07-30
      回复
    • 盛夏以澜。
      盛夏以澜。
      2018-07-31回复M.J

      目前是点击的时候获取了,在跳转到对应的位置

      2018-07-31
      回复
    查看更多(2)