以前我觉得微信小程序无法动态获取view元素的宽度高度。 但是,在看到名为wx.createSelectorQuery ()的api接口之后,现在可以解决以前的一些问题了。
那么,这个api接口怎么用呢?
首先,此接口返回对象实例。
var obj=wx.createSelectorQuery (;
返回的对象实例obj的所有内容如下:
返回的obj有五种方法:
obj.in(component ) :从未使用过此方法,并且经常用于组件选择器。
obj.select(selector ) :获取指定的节点,selector是css选择器。 返回可用于检索节点信息的NodesRef对象的实例。
obj.selectall(selector ) :获取指定的节点,selector是css选择器。 返回可用于检索节点信息的NodesRef对象的实例。
我觉得以上两个是js中querySelector和querySelectorAll的不同。
obj.selectViewport (:我没有使用过这个方法。 官方表示选择显示区域,可以用于获取显示区域的大小、滚动位置等信息。 返回可用于检索节点信息的NodesRef对象的实例。
exec(function(RES ) ) :执行所有的要求,要求结果按照要求顺序构成数组,用callback的最初参数返回
上面返回的NodesRef对象实例很重要,有三种方法:
boundingclientrect (function (rect ) } :通过此方法可以动态获取view元素的高度、宽度等属性。 其他请参阅官方文件
scrolloffset(function(RES ) ) :获取节点的水平、垂直滚动位置等。 节点必须是scroll-view或viewport
fields(fields,function ) ({res} )这可以获取指定元素的自定义属性和类名。 具体请看官方文件的说明。
说了这么多闲话,但真正的实例用法:
wx.createSelectorQuery ().selectall(.NPL-intro ).boundingclientrect ) (函数(rect ) )。
width )
exec () )。
如果你觉得这样写有点长。 能按阶段写。 是同样的结果。
varobj=();
)
.
当然,该方法既可以写入onLoad、onReady、onShow等生命周期的方法,也可以写入定制的方法。 什么时候需要就调用。
总结
以上是编程器为你收集整理的微信程序动态元素宽度高度的全部内容,希望文章能够解决获取微信程序动态元素宽度高度所面临的程序开发问题。
如果你觉得编程主页的内容不错,欢迎向程序员朋友推荐程序员网站。
此文字内容由网友互联网收集整理提供,仅供学习参考,版权归原作者所有。
如果喜欢交流学习经验,请点击链接加入交流1群: 1065694478 (满)交流2群: 163560250