vue 返回滚动条顶部组件_vue中回到顶部

1. 回到顶部,使用 scrollIntoView 方法:

Element.scrollIntoView方法滚动当前元素,进入浏览器的可见区域

该方法可以接受一个布尔值作为参数。如果为true,表示元素的顶部与当前区域的可见部分的顶部对齐(前提是当前区域可滚动);如果为false,表示元素的底部与当前区域的可见部分的尾部对齐(前提是当前区域可滚动)。如果没有提供该参数,默认为true

使用该方法的原理与使用锚点的原理类似,在页面最上方设置目标元素,当页面滚动时,目标元素被滚动到页面区域以外,点击回到顶部按钮,使目标元素重新回到原来位置,则达到预期效果。

回到顶部

target.scrollIntoView();

}

2. vue 中滚动条滚到一定距离后,显示『回到顶部』按钮;

(1)监听滚动事件

利用VUE写一个在控制台打印当前的scrollTop。首先,在 mounted 钩子中给window添加一个滚动滚动监听事件:

mounted () {

window.addEventListener('scroll', this.scrollToTop)

},

然后在方法中,添加这个 scrollToTop 方法:

scrollToTop() {var scrollTop = window.pageYOffset || document.documentElement.scrollTop ||document.body.scrollTop;

console.log(scrollTop)

}

控制台打印结果:

(2) 监听回到顶部按钮距浏览器顶部的距离,滚动的距离如果大于浏览器高度时,设置 toTop 为true,否则就是false;

scrollToTop(el) {

let topBtn= document.getElementById('to-top-btn');

let scrollTop= window.pageYOffset || document.documentElement.scrollTop ||document.body.scrollTop;

let browserHeight=window.outerHeight;if (scrollTop >browserHeight) {

topBtn.style.display= 'block';

}else{

topBtn.style.display= 'none';

}

}

(3) 离开该页面需要移除这个监听的事件,不然会报错;

destroyed () {

window.removeEventListener('scroll', this.scrollToTop);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值