概述
vue 之返回顶部组件
backTop.vue
<template>
<div class="floating" @click="goTop()" v-show="btnFlag">
<a href="javascript:;">
<em class="icon-text">回顶部</em>
</a>
</div>
</template>
<script>
export default {
props: ["refEle", "backTime"],
data() {
return {
btnFlag: false,
};
},
mounted() {
window.addEventListener("scroll", this.isShowBtn, true);
},
destroyed() {
window.removeEventListener("scroll", this.isShowBtn, true);
},
methods: {
goTop() {
// 拿到当前 需要滚动的节点 距离顶部多少距离
// console.log('ref节点',this.refEle,this.refEle.scrollTop);
this.timer = setInterval(() => {
let scrollTop = this.refEle.scrollTop;
let ispeed = Math.floor(-scrollTop / 5);
// console.log("速度和高度", ispeed, scrollTop);
this.refEle.scrollTop = scrollTop + ispeed;
if (scrollTop === 0) {
// console.log("到0了");
clearInterval(this.timer);
}
}, this.backTime);
},
isShowBtn() {
let scrollTop = "";
if (this.refEle) {
scrollTop = this.refEle.scrollTop;
} else {
scrollTop =
window.pageYOffset ||
document.documentElement.scrollTop ||
document.body.scrollTop;
}
if (scrollTop > 60) {
this.btnFlag = true;
} else {
this.btnFlag = false;
}
},
},
};
</script>
<style scoped>
.floating {
width: 0.65rem;
position: fixed;
z-index: 1600;
right: 0.2rem;
bottom: 1rem;
}
.floating a {
text-decoration: none;
margin-bottom: 0.05rem;
display: block;
opacity: 0.9;
background-color: rgb(130, 130, 130);
}
.floating a:hover {
background-color: #33AAFF;
}
</style>
home.vue引用
// 这个需要返回顶部的节点
<main ref="selfCon></main>
<BackTop
class="back_top"
:refEle="this.$refs.selfCon"
:backTime="30"
></BackTop>
最后
以上就是碧蓝小熊猫为你收集整理的vue 之返回顶部组件的全部内容,希望文章能够帮你解决vue 之返回顶部组件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复