uni-app获取DOM元素信息及跳到指定位置

本文详细介绍了在uni-app中如何获取DOM元素信息,重点强调将id或类名应用于目标元素,并且要在onReady生命周期钩子中进行操作。同时,提供了封装方法来实现页面滚动到指定位置,通过获取DOM元素的上下距离并调整滚动高度。

自己写的时候看了很多别人说的感觉一下看了难理解,所以整理一下
获取DOM元素信息
这里你想获取哪个的信息把id="target"或类放到哪里

<template>
	<view>
		<view >
		<view>Html</view>
		<view id="target">Css</view>
		<view">Javascript</view>
	</view>
</template>

一定要注意,获取要放在onReady或mounted里(建义放onReady因为用的uniapp)

<script>
	export default {
		onReady(){// 注意:想要拿到元素实例,需要在实例已经挂载到页面上才可以
			this.getInfo()
		},
		methods: {
			getInfo() {
				const query = uni.createSelectorQuery().in(this);
				query.select('#target').boundingClientRect(data => {
					console.log(data)
				}).exec();
			}
		}
	};
</script>

跳到指定位置
封装获取方法然后全局导入

export default{
	getRect(selector){
		return new Promise((resolve) => {
			let view = uni.createSelectorQuery().select(selector);
			view.fields({
				size: true,
				rect: true,
				scrollOffset:true
			}, (res) => {
				resolve(res);
			}).exec();
		})
	}
}
main.js里直接
import Xxx from 'xxx.js'
Vue.prototype.$Xxx = Xxx

然后在onReady里根据类名获取这个DOM的上下距离信息

onReady(){
	this.$Tool.getRect(".Html").then(res => {
		 console.log(res) //res里有各属性信息
	})
},

然后根据对应的距离跳到指定的滚动高度

uni.pageScrollTo({
	scrollTop: res里面距离最上的距离(如res.top) 
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值