加载中 ...
首页 > 新闻资讯 > 小程序 正文

微信小程序动态采集元素宽度高度

2019-07-31 08:40:36 来源:沈阳小程序开发 作者:沈阳软件开发

3.png

我以前认为微信小程序无法动态获取视图元素的宽度和高度。但是自从我看到:wx.createSelectorQuery()这个api接口,以前的一些问题都可以解决。

那么,这个api接口是如何使用的呢?

首先,此接口将返回一个对象实例。

Var obj=wx.createSelectorQuery();

返回的 obj 有五个方法:

Obj.in(组件):此方法尚未使用,主要用于组件选择器。

Obj.select(selector):获取指定的节点,选择器是css选择器。返回可用于获取节点信息的NodesRef对象实例。

obj.selectAll(selector):获取指定的节点,选择器是css选择器。返回可用于获取节点信息的NodesRef对象实例。

我觉得上面两个是js中querySelector和querySelectorAll之间的区别。

obj.selectViewport():我没有用过这个方法。该官员说,选择显示区域,可用于获取显示区域的大小和滚动位置等信息。它还返回可用于获取节点信息的NodesRef对象的实例。

Exec(function(res){}):执行所有请求,请求的结果按请求的顺序形成一个数组,并在回调的第一个参数中返回

上面返回的NodesRef对象实例非常重要,它有三个方法:

boundingClientRect(function(rect){}):此方法用于动态获取视图元素的高度和宽度。还有其他其他请参阅官方文档

scrollOffset(function(res){}):获取节点的水平和垂直滚动位置。该节点必须是滚动视图或视口

Fields(fields,function(){res}):这可以获取指定元素的自定义属性和类名。有关详细信息,请参阅官方文档的说明。

有太多无意义的,真实的例子用法:

wx.createSelectorQuery()。selectAll('。npl-intro')。boundingClientRect(function(rect){console.log(rect [0] .height)console.log(rect [0] .width)})。exec( )

如果你认为这有点长。可以分步写。同样如此。

Var obj=wx.createSelectorQuery(); obj.selectAll('。npl-intro')。boundingClientRect(function(rect){console.log(rect [0] .height)console.log(rect [0] .width) })obj.exec();

当然,这个方法可以写在onLoad,onReady,onShow等生命周期方法中,也可以用自定义方法编写。什么时候需要它什么时候调用它。

< 汇海(www.hvihi.com)是国内知名的商城系统和商城网站建设提供商,其中汇海技术小程序系统提供小程序商城开发,小程序配送系统,微分配系统,商城系统,电子商务网站建设, 微信发行系统,小程序商城及其他多端商场和电子商务行业解决方案>

确认:这个文件和图像源网络编辑器的网站部分,如果有侵权及时通信删除。 汇海hvihi.com网站原创文章,请注明出处。

“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。