我是靠谱客的博主 高兴花卷,这篇文章主要介绍uni-app如何获取dom节点,现在分享给大家,希望可以做个参考。

本教程操作环境:windows7系统、uni-app2.5.1版本,Dell G3电脑,该方法适用于所有品牌电脑。

推荐(免费):uni-app开发教程

uniapp获取dom节点的方法:

一、如何获取DOM节点:

1、获取匹配选择器的第一个节点:

let dom=query.select(selector)
登录后复制

2、获取匹配选择器的所有节点:

letdoms=query.selectAll(selector)
登录后复制

上述两个方法均返回NodesRef对象实例,该实例用来获取DOM节点的信息。

二、如何获取DOM节点的信息:(以doms为例)

1、获取DOM节点的布局位置信息:

doms.boundingClienRect(function(res){
//res:{left,top,right,bottom,width,height}
}).exec(function(){
//上述布局位置信息获取成功后执行的回调函数
})
登录后复制

2、获取DOM节点的滚动位置信息:

doms.scrollOffset(function(){
//res:{scrollLeft,scrollTop}
}).exec(function(){
//上述滚动位置信息获取成功后执行的回调函数
})
登录后复制

3、获取DOM节点的所有信息:

doms.fields({
rect:true,   //是否返回节点布局位置信息{left,top,right,bottom}
size:true,  //是否返回节点尺寸信息{width,height}
scrollOffset:true //是否返回节点滚动信息{scrollLeft,scrollTop}
},function(res){
//res 可以返回第一个参数对象中指定为true的相关信息
}).exec(function(){
//上述节点信息获取成功后执行的回调函数
})
登录后复制

三、代码实例

1、例1: <template>中有多个类名为leftItem的节点,如何获取这些节点距离顶部的距离,并将这些距离赋给一个在数据区已经定义好的名为leftItemTop的数组。

uni.createSelectorQuery().selectAll(".leftItem").boundingClienRect(res=>{
this.leftItemTop=res.map(item=>item.top)
}).exec(()=>{
console.log(this.leftItemTop)
})
登录后复制

2、例2:<template:>中有多个类名为rightItem的节点,如何获取这些节点的高度,并将这些高度赋值给一个在数据区已经定义好的名为rightItem的数组。

uni.createSelectorQuery().selectAll(".rightItem").fields({
size:true
},res=>{
this.rightItemHeight=res.map(item=>{item.height})
}).exec(()=>{
console.log(this.rightItemHeight)
})
登录后复制

以上就是uni-app如何获取dom节点的详细内容,更多请关注靠谱客其它相关文章!

最后

以上就是高兴花卷最近收集整理的关于uni-app如何获取dom节点的全部内容,更多相关uni-app如何获取dom节点内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(370)

评论列表共有 0 条评论

立即
投稿
返回
顶部