使用vue实现移动端回到顶部的组件
时间: 2023-08-25 09:06:08 浏览: 143
vue实现移动端返回顶部
5星 · 资源好评率100%
好的,下面是一个使用 Vue 实现移动端回到顶部的组件的示例代码:
```vue
<template>
<div class="back-to-top" v-show="show" @click="scrollToTop">
<i class="fa fa-arrow-up"></i>
</div>
</template>
<script>
export default {
data() {
return {
show: false // 是否显示回到顶部按钮
};
},
mounted() {
window.addEventListener("scroll", this.handleScroll); // 监听页面滚动事件
},
methods: {
handleScroll() {
this.show = window.pageYOffset > 100; // 判断页面垂直滚动距离是否大于100,大于则显示按钮,否则隐藏
},
scrollToTop() {
window.scrollTo({
top: 0,
behavior: "smooth" // 平滑滚动到页面顶部
});
}
},
beforeDestroy() {
window.removeEventListener("scroll", this.handleScroll); // 组件销毁前取消事件监听
}
};
</script>
<style scoped>
.back-to-top {
position: fixed;
right: 20px;
bottom: 20px;
z-index: 999;
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
background-color: #fff;
border: 1px solid #ccc;
border-radius: 50%;
cursor: pointer;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
transition: opacity 0.3s;
}
.back-to-top:hover {
opacity: 0.8;
}
.fa {
font-size: 20px;
color: #333;
}
</style>
```
这个组件监听页面滚动事件,通过判断页面垂直滚动距离是否大于100来显示或隐藏回到顶部按钮。当用户点击按钮时,组件会平滑滚动到页面顶部。注意:需要在组件中引入 Font Awesome 的 CSS 文件以使用回到顶部的图标。
阅读全文