VUE 回到顶部
Posted miangao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE 回到顶部相关的知识,希望对你有一定的参考价值。
1.新建组件mmGoTop.vue
? <template> <div id="goTop"> <div class="goTop" v-show="goTopShow" @click="goTop"> <i class="el-icon-caret-top goTopIcon"></i> </div> </div> </template> <script> export default { name: "mmGoTop", data() { return { scrollTop: "", goTopShow: false }; }, watch: { scrollTop(val) { if (this.scrollTop > 500) { this.goTopShow = true; } else { this.goTopShow = false; } } }, methods: { handleScroll() { this.scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; if (this.scrollTop > 500) { this.goTopShow = true; } }, goTop() { let timer = null, _that = this; cancelAnimationFrame(timer); timer = requestAnimationFrame(function fn() { if (_that.scrollTop > 0) { _that.scrollTop -= 250; document.body.scrollTop = document.documentElement.scrollTop = _that.scrollTop; timer = requestAnimationFrame(fn); } else { cancelAnimationFrame(timer); _that.goTopShow = false; } }); } }, mounted() { window.addEventListener("scroll", this.handleScroll); }, destroyed() { window.removeEventListener("scroll", this.handleScroll); } }; </script> <style scoped> .goTop { position: fixed; z-index: 98; right: 0; bottom: 2rem; width: 1.1rem; height: 1rem; background: transparent; cursor: pointer; background-image: url(~@/assets/img/return-top.png); background-size: 100% 100%; background-repeat: no-repeat; background-position: center center; } .goTop:hover .goTopIcon { color: rgba(51, 153, 255, 1); } .goTopIcon { font-size: .2rem; color: rgba(51, 153, 255, 0.8); } </style> ?
2.使用组件mmGoTop
<mm-go-top>回到顶部</mm-go-top>
// 回到顶部 import mmGoTop from "@/view/train/component/mmGoTop";
以上是关于VUE 回到顶部的主要内容,如果未能解决你的问题,请参考以下文章