小程序文档整理之 -- API(WXML节点信息)
2017-08-28 17:51
453 查看
WXML节点信息
wx.createSelectorQuery()
返回一个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.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中返回。
Page({ getRect: function(){ wx.createSelectorQuery().select('#the-id').boundingClientRect(function(rect){ rect.id // 节点的ID rect.dataset // 节点的dataset rect.left // 节点的左边界坐标 rect.right // 节点的右边 4000 界坐标 rect.top // 节点的上边界坐标 rect.bottom // 节点的下边界坐标 rect.width // 节点的宽度 rect.height // 节点的高度 }).exec() }, getAllRects: function(){ 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() } })
nodesRef.scrollOffset([callback])
添加节点的滚动位置查询请求,以像素为单位。节点必须是scroll-view或者viewport。返回值是nodesRef对应的selectorQuery。返回的节点信息中,每个节点的滚动位置用scrollLeft、scrollHeight字段描述。如果提供了callback回调函数,在执行selectQuery的exec方法后,节点信息会在callback中返回。
Page({ getScrollOffset: function(){ wx.createSelectorQuery().selectViewport().scrollOffset(function(res){ res.id // 节点的ID res.dataset // 节点的dataset res.scrollLeft // 节点的水平滚动位置 res.scrollTop // 节点的竖直滚动位置 }).exec() } })
nodesRef.fields(fields, [callback])
获取节点的相关信息,需要获取的字段在fields中指定。返回值是nodesRef对应的selectorQuery。可指定获取的字段包括:Page({ getFields: function(){ wx.createSelectorQuery().select('#the-id').fields({ id//是否返回节点id dataset: true,//是否返回节点dataset rect//是否返回节点布局位置(left right top bottom) size: true,//是否返回节点尺寸(width height) scrollOffset: true,//是否返回节点的 scrollLeft scrollTop ,节点必须是scroll-view或者viewport properties: ['scrollX', 'scrollY']//指定属性名列表,返回节点对应属性名的当前属性值(只能获得组件文档中标注的常规属性值, id class style 和事件绑定的属性值不可获取) }, function(res){ res.dataset // 节点的dataset res.width // 节点的宽度 res.height // 节点的高度 res.scrollLeft // 节点的水平滚动位置 res.scrollTop // 节点的竖直滚动位置 res.scrollX // 节点 scroll-x 属性的当前值 res.scrollY // 节点 scroll-x 属性的当前值 }).exec() } })
selectorQuery.exec([callback])
执行所有的请求,请求结果按请求次序构成数组,在callback的第一个参数中返回。相关文章推荐
- 小程序文档整理之 -- API(文件)
- 小程序文档整理之 -- API(数据缓存)
- 小程序文档整理之 -- API(调试接口)
- 小程序文档整理之 -- API(位置)
- 小程序文档整理之 -- API(设备)
- 小程序文档整理之 -- API(界面)
- 小程序文档整理之 -- API(第三方平台)
- WXML节点信息API
- 使用RAML描述API文档信息的一些用法整理
- 小程序文档整理之 -- API(网络请求)
- 小程序文档整理之 -- API(数据分析)
- 小程序文档整理之 -- API(媒体)
- 小程序文档整理之 -- 列表渲染
- 微信小程序把玩(三十八)获取设备信息 API
- 编写程序:建立一个学生数据链表,每个节点的信息包括如下内容:学号,姓名,性别年龄专业。对链表做如下处理。输入一个学号(专业),如果链表中的节点包含此学号(专业),则删去该结点。
- 基于控制台或Win32 API程序生成文件版本信息
- 【视频】配置信息管理程序的使用方法的视频演示(一):数据库文档(Excel)的格式说明
- 给自己的java程序生成API帮助文档
- Qt软件开发文档16---软件更新:写入程序版本信息并读取程序的版本号
- 微信小程序使用百度api获取天气信息 —— 微信小程序教程系列(16)