微信小程序通过坐标获取dom
时间: 2023-12-10 14:04:45 浏览: 85
微信小程序提供了一个组件 wx.createSelectorQuery(),用于获取页面中的节点信息。可以通过该组件的方法 selectViewport() 和 select() 获取节点的位置、大小、坐标等信息。
具体步骤如下:
1. 在页面 onLoad() 生命周期中创建一个 selectorQuery 对象。
```javascript
onLoad: function () {
this.selectorQuery = wx.createSelectorQuery();
},
```
2. 使用 selectViewport() 方法获取页面的窗口信息。
```javascript
this.selectorQuery.selectViewport().boundingClientRect(function(rect){
console.log(rect);
}).exec();
```
3. 使用 select() 方法获取指定节点的信息。
```javascript
this.selectorQuery.select("#node-id").boundingClientRect(function(rect){
console.log(rect);
}).exec();
```
其中,boundingClientRect() 方法用于获取节点的位置、大小、坐标等信息。执行 exec() 方法后,会将获取的信息传递给回调函数。
注意事项:
- 使用 select() 方法时,需要保证节点已经渲染完成才能获取到正确的信息。
- 对于动态生成的节点,需要在节点渲染完成后再执行 selectorQuery。
- 获取的坐标信息是相对于 viewport(可视区域)的坐标。
阅读全文