SelectorQuery wx.createSelectorQuery()
基础库 1.4.0 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:不支持
小程序插件:支持,需要小程序基础库版本不低于 1.9.6
返回一个 SelectorQuery 对象实例。在自定义组件或包含自定义组件的页面中,应使用
this.createSelectorQuery()
来代替。返回值
SelectorQuery
示例代码
const query = wx.createSelectorQuery() query.select('#the-id').boundingClientRect() query.selectViewport().scrollOffset() query.exec(function(res){ res[0].top // #the-id节点的上边界坐标 res[1].scrollTop // 显示区域的竖直滚动位置 })
实际运用:
<view class="box1" bindtap="toComment">查看答案</view>
//....其他内容
<view class="box2" id="comment">回答</view>
toComment(e) {
var query = wx.createSelectorQuery() //创建节点查询器
query.selectViewport().scrollOffset(); //节点的竖直滚动位置
query.select('#comment').boundingClientRect() //动态获取id
query.exec(function (res) { //执行请求
wx.pageScrollTo({
scrollTop: res[0].scrollTop + res[1].top, //滚动到页面节点的上边界坐标
duration: 400 // 滚动动画的时长
});
})
}