在做一个滚动到指定位置的动能时(wx.pageScrollTo),想获取某个元素的定位,使用wx.createSelectorQuery().exec()。

运行demo代码时,查找id为'empty'的元素,在回调中打印结果,为什么res[0]是null,而第二次调用时才有结果?

Page({

 queryMultipleNodes: function(){    

    var query = wx.createSelectorQuery()

   query.select('#empty').boundingClientRect()    query.selectViewport().scrollOffset()

   query.exec(function(res){

      console.log(res)    

     res[0].top       // #the-id节点的上边界坐标  这里是null      res[1].scrollTop // 显示区域的竖直滚动位置    })  } })


展开全部
收起
6回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • Jonathan

    19人对此回答表示赞同

    页面渲染时间,onLoad>onShow>onReady,如果页面由动态数据加载渲染,有可能是数据还没有渲染成功。onReady代表页面框架加载完毕,此时数据渲染不一定完成,可以用setTimeout延迟获取

    展开
    19
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 亚马逊河游客

    17人对此回答表示赞同

    是不是setData后同步调用的啊setData是一个异步的方法有没有可能是元素当时还没生成?

    展开
    17
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 姜小小

    10人对此回答表示赞同

    感觉官方都不回复的

    展开
    10
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • Jerry不怕猫

    8人对此回答表示赞同

    问题解决了吗?

    展开
    8
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 禁果

    8人对此回答表示赞同

    实测自定义组件中,在ready之后调用才能拿到正确的值

    展开
    8
    0回复
    发布于 5年前

    评论(0)

    收起评论

  • 一百零一夜

    1人对此回答表示赞同

    没有,坐等官方回复

    展开
    1
    0回复
    发布于 5年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部