Vue中获取高度的方法

本文介绍了在Vue中获取滚动条高度、DOM元素高度以及如何设置滚动条滚动到顶部的方法。详细讲解了window.scroll函数的使用,并补充了通过ref获取DOM元素宽高的一些关键属性,如offsetTop、offsetLeft、offsetWidth、offsetHeight、offsetParent、scrollLeft和scrollTop。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Vue 中获取滚动条高度的方法

<script type="text/Babel">

	mounted() {//可以在这里面直接进行滚动条的获取
		window.addEventListener('scroll', this.getTopHeight , true)
	}

            
	methods: {
		getTopHeight () {
		//方法一
		//let topHeight = Math.floor(document.body.scrollTop || document.documentElement.scrollTop || window.pageXOffset)
 		//console.log(topHeight)
    	    
 		//方法二
		this.nextTick(()=>{此处表示渲染完成界面后执行
		let topHeight= document.body.scrollTop || document.documentElement.scrollTop || window.pageXOffset)
		console.log(topHeight)
 		})
	  }
   }
   
</script>

二.Vue 中获取dom元素高度的方法

<template>
	<div>
		<div  ref="element"></div>
	</div>
</template>

方法如下:

<script type="text/Babel">

	//获取高度值
	let height = this.$refs.element.offsetHeight; 

	//获取元素样式值
	let heightCss = window.getComputedStyle(this.$refs.element).height; 

	//获取元素内联样式值
	let heightStyle = this.$refs.element.style.height; 

</script>

三.Vue 设置滚动条滚动到顶部

<script type="text/Babel">

    window.scroll(0, 0);
    
</script>

window.scroll(x-coord, y-coord)

  • x-coord 值表示你想要置于左上角的像素点的横坐标。
  • y-coord 值表示你想要置于左上角的像素点的纵坐标。

补充:通过ref获取dom元素宽高的几个方法

1.offsetTop :
当前对象到其上级层顶部的距离.
不能对其进行赋值.设置对象到页面顶部的距离请用style.top属性.

2.offsetLeft :
当前对象到其上级层左边的距离.
不能对其进行赋值.设置对象到页面左部的距离请用style.left属性.

3.offsetWidth :
当前对象的宽度.
与style.width属性的区别在于:如对象的宽度设定值为百分比宽度,则无论页面变大还是变小,style.width都返回此百分比,而offsetWidth则返回在不同页面中对象的宽度值而不是百分比值

4.offsetHeight :
与style.height属性的区别在于:如对象的宽度设定值为百分比高度,则无论页面变大还是变小,style.height都返回此百分比,而offsetHeight则返回在不同页面中对象的高度值而不是百分比值

5.offsetParent :
当前对象的上级层对象.
注意.如果对象是包括在一个DIV中时,此DIV不会被当做是此对象的上级层,(即对象的上级层会跳过DIV对象)上级层是Table时则不会有问题.
利用这个属性,可以得到当前对象在不同大小的页面中的绝对位置.

6.scrollLeft :
对象的最左边到对象在当前窗口显示的范围内的左边的距离.
即是在出现了横向滚动条的情况下,滚动条拉动的距离.

7.scrollTop
对象的最顶部到对象在当前窗口显示的范围内的顶边的距离.
即是在出现了纵向滚动条的情况下,滚动条拉动的距离.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值