本文整理自网络,侵删。
wx.createSelectorQuery()
基础库 1.4.0 开始支持,低版本需做兼容处理
返回一个SelectorQuery对象实例。可以在这个实例上使用select
等方法选择节点,并使用boundingClientRect
等方法选择需要查询的信息。
示例代码:
Page({
queryMultipleNodes: function(){
var query = wx.createSelectorQuery()
query.select('#the-id').boundingClientRect()
query.selectViewport().scrollOffset()
query.exec(function(res){
res[0].top // #the-id节点的上边界坐标
res[1].scrollTop // 显示区域的竖直滚动位置
})
}
})
selectorQuery
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中返回。
相关阅读 >>
更多相关阅读请进入《微信小程序》频道 >>
Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者