一、按钮基本样式
html代码
<button class="top" @click="toTop" v-if="top">
^
Top
</button>
css代码
.top {
position: fixed;
width: 33px;
height: 33px;
bottom: 50px;
right: 20px;
text-align: center;
font-size: 12px;
}
二、script方法
script代码
// 滚动监听
mounted () {
window.addEventListener('scroll', this.handleScroll) // 监听页面滚动
},
methods:{
// 获取页面滚动距离
handleScroll () {
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
if (scrollTop > 200) {
this.top = true;
} else {
this.top = false;
}
},
//回到顶部
toTop() {
let Top = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
// 设置计时器,实现滚动效果
const timeTop = setInterval(() => {
document.body.scrollTop = document.documentElement.scrollTop = Top -= 50
if (Top <= 10) {
clearInterval(timeTop)
}
}, 20)
}
}