官网地址
age({
queryMultipleNodes: function(){//声明节点查询的方法
var query = wx.createSelectorQuery()//创建节点查询器 query
query.select('#the-id').boundingClientRect()//这段代码的意思是选择Id=the-id的节点,获取节点位置信息的查询请求
query.selectViewport().scrollOffset()//这段代码的意思是获取页面滑动位置的查询请求
query.exec(function(res){
res[0].top // #the-id节点的上边界坐标
res[1].scrollTop // 显示区域的竖直滚动位置
})
}
})
selectorQuery 对象的方法列表:
方法 | 参数 | 说明 |
---|---|---|
select | selector | 参考下面详细介绍 |
selectAll | selector | 参考下面详细介绍 |
selectViewport | 参考下面详细介绍 | |
exec | [callback] | 参考下面详细介绍 |
selectorQuery.select(selector)
在当前页面下选择第一个匹配选择器selector
的节点,返回一个NodesRef
对象实例,可以用于获取节点信息。
selector
类似于CSS的选择器,但仅支持下列语法。
- ID选择器:
#the-id
- class选择器(可以连续指定多个):
.a-class.another-class
- 子元素选择器:
.the-parent > #the-child.a-class
- 多选择器的并集:
#a-node, .some-other-nodes
selectorQuery.selectAll(selector)
在当前页面下选择匹配选择器selector
的节点,返回一个NodesRef
对象实例。 与selectorQuery.selectNode(selector)
不同的是,它选择所有匹配选择器的节点。
selectorQuery.selectViewport()
选择显示区域,可用于获取显示区域的尺寸、滚动位置等信息,返回一个NodesRef
对象实例。
nodesRef.boundingClientRect([callback])
添加节点的布局位置的查询请求,相对于显示区域,以像素为单位。其功能类似于DOM的getBoundingClientRect。返回值是nodesRef对应的selectorQuery。
返回的节点信息中,每个节点的位置用left
、right
、top
、bottom
、width
、height
字段描述。如果提供了callback回调函数,在执行selectQuery的exec方法后,节点信息会在callback中返回。