在網頁開發中,很多頁面內容會比較長,用戶需要不停地向下滾動才能看到整個頁面。為了提高用戶體驗,我們通常會添加返回頂部的按鈕,使用戶可以快速返回頁面頂部。而在Vue中,我們可以使用組件的方式來實現這個功能。
<template>
<div class="back-to-top" v-if="isVisible" @click="scrollToTop">
<i class="fas fa-chevron-up"></i>
</div>
</template>
<script>
export default {
data() {
return {
isVisible: false
}
},
created() {
window.addEventListener('scroll', this.handleScroll);
},
destroyed() {
window.removeEventListener('scroll', this.handleScroll);
},
methods: {
handleScroll() {
this.isVisible = window.pageYOffset >100;
},
scrollToTop() {
window.scrollTo({
top: 0,
behavior: "smooth"
});
}
}
}
</script>
<style scoped>
.back-to-top {
position: fixed;
bottom: 30px;
right: 30px;
cursor: pointer;
opacity: 0.5;
transition: opacity 0.3s;
}
.back-to-top:hover {
opacity: 1;
}
.fa-chevron-up {
font-size: 20px;
}
</style>
以上是一個簡單的返回頂部組件,它主要由三個部分組成:1. template模板部分,2. scriptjs邏輯部分,3. style樣式部分。在template模板部分,我們定義了一個div元素,用于放置返回頂部的按鈕,當在頁面滑動至一定高度時,按鈕才會顯示。在scriptjs邏輯部分,我們添加了handleScroll事件,監測頁面滑動的高度并修改isVisible屬性的值,以控制按鈕的顯示與隱藏;我們還定義了scrollToTop事件,用于讓頁面滑動到頂部;最后,在style樣式部分,我們設置了按鈕的位置、鼠標懸停時透明度的改變和icon的大小。
這個組件還有很多可以改進的地方,例如可以添加回到上一個頁面的功能、添加動畫效果等。但是無論怎樣,這個組件都可以提升網頁的用戶體驗,同時也給我們提供了一個學習Vue組件的好的案例。
上一篇vue 過渡的樣式
下一篇vue 運行run 報錯