在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
不能使用window.document对象,所以无法操作Dom,操作节点可以使用wx.createSelectorQuery()
|
属性 | 类型 | 说明 |
---|---|---|
id | string | 节点的 ID |
dataset | Object | 节点的 dataset |
left | number | 节点的左边界坐标 |
right | number | 节点的右边界坐标 |
top | number | 节点的上边界坐标 |
bottom | number | 节点的下边界坐标 |
width | number | 节点的宽度 |
height | number | 节点的高度 |
Page({
getRect() {
wx.createSelectorQuery().select('#the-id').boundingClientRect(function (rect) {
rect.id // 节点的ID
rect.dataset // 节点的dataset
rect.left // 节点的左边界坐标
rect.right // 节点的右边界坐标
rect.top // 节点的上边界坐标
rect.bottom // 节点的下边界坐标
rect.width // 节点的宽度
rect.height // 节点的高度
}).exec()
},
getAllRects() {
wx.createSelectorQuery().selectAll('.a-class').boundingClientRect(function (rects) {
rects.forEach(function (rect) {
rect.id // 节点的ID
rect.dataset // 节点的dataset
rect.left // 节点的左边界坐标
rect.right // 节点的右边界坐标
rect.top // 节点的上边界坐标
rect.bottom // 节点的下边界坐标
rect.width // 节点的宽度
rect.height // 节点的高度
})
}).exec()
}
})
SelectorQuery NodesRef.scrollOffset(function callback)
添加节点的滚动位置查询请求。以像素为单位。节点必须是 scroll-view 或者 viewport,返回 NodesRef 对应的 SelectorQuery。
属性 | 类型 | 说明 |
---|---|---|
id | string | 节点的 ID |
dataset | Object | 节点的 dataset |
scrollLeft | number | 节点的水平滚动位置 |
scrollTop | number | 节点的竖直滚动位置 |
Page({
getScrollOffset() {
wx.createSelectorQuery().selectViewport().scrollOffset(function (res) {
res.id // 节点的ID
res.dataset // 节点的dataset
res.scrollLeft // 节点的水平滚动位置
res.scrollTop // 节点的竖直滚动位置
}).exec()
}
})
SelectorQuery NodesRef.context(function callback)
添加节点的 Context 对象查询请求。目前支持 VideoContext、CanvasContext、LivePlayerContext 和 MapContext 的获取。
属性 | 类型 | 说明 |
---|---|---|
context | Object | 节点对应的 Context 对象 |
Page({
getContext() {
wx.createSelectorQuery().select('.the-video-class').context(function (res) {
console.log(res.context) // 节点对应的 Context 对象。如:选中的节点是 <video> 组件,那么此处即返回 VideoContext 对象
}).exec()
}
})
NodesRef.fields(Object fields)
获取节点的相关信息。需要获取的字段在fields中指定。返回值是 nodesRef 对应的 selectorQuery
属性|类型|默认值|必填|说明 id|boolean|false|否|是否返回节点 id dataset|boolean|false|否|是否返回节点 dataset rect|boolean|false|否|是否返回节点布局位置(left right top bottom) size|boolean|false|否|是否返回节点尺寸(width height) scrollOffset|boolean|false|否|是否返回节点的 scrollLeft scrollTop,节点必须是 scroll-view 或者 viewport properties|Array.|[]|否|指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值,id class style 和事件绑定的属性值不可获取) computedStyle|Array.|[]|否|指定样式名列表,返回节点对应样式名的当前值 context|boolean|false|否|是否返回节点对应的 Context 对象
Page({
getFields() {
wx.createSelectorQuery().select('#the-id').fields({
dataset: true,
size: true,
scrollOffset: true,
properties: ['scrollX', 'scrollY'],
computedStyle: ['margin', 'backgroundColor'],
context: true,
}, function (res) {
res.dataset // 节点的dataset
res.width // 节点的宽度
res.height // 节点的高度
res.scrollLeft // 节点的水平滚动位置
res.scrollTop // 节点的竖直滚动位置
res.scrollX // 节点 scroll-x 属性的当前值
res.scrollY // 节点 scroll-y 属性的当前值
// 此处返回指定要返回的样式名
res.margin
res.backgroundColor
res.context // 节点对应的 Context 对象
}).exec()
}
})
SelectorQuery NodesRef.context(function callback)
添加节点的 Context 对象查询请求。目前支持 VideoContext、CanvasContext、LivePlayerContext 和 MapContext 的获取。
Page({
getContext() {
wx.createSelectorQuery().select('.the-video-class').context(function (res) {
console.log(res.context) // 节点对应的 Context 对象。如:选中的节点是 <video> 组件,那么此处即返回 VideoContext 对象
}).exec()
}
})
----------------------------------------
小程序系列:
基础使用: 缓存
----------------------------------------
请发表评论