vue3 Element-Plus el-backtop无效问题及解决
作者:极星(*^_^*)
这篇文章主要介绍了vue3 Element-Plus el-backtop无效问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vue3 Element-Plus el-backtop无效
基本格式:
<template> <div class="box"> <el-backtop target=".box" :visibility-height="100" :bottom="60" :right="20"></el-backtop> <div> 页面........ </div> </div> </template>
有时候会发现这个根本无效,那么父级盒子最好设置以下样式
height: 100%; // 不必是100vh,只需要是该容器显示的最大高度即可 overflow-x: hidden;
element Backtop 回到顶部简单使用
visibility-height:滚动高度达到此参数值才出现,默认200,是number类型(使用如:visibility-height="100")
target:触发滚动的对象,是String类型,你可以不传right:控制其显示位置, 距离页面右边距,默认40,是number类型,数值越大,离右边越远。bottom:控制其显示位置, 距离页面底部距离。默认40,是number类型,你可以调整他的值,越大离底部越远。
直接贴代码 拿去piao
//默认的 我们可以什么都不传,调用这个组件即可使用。
<el-backtop></el-backtop>
//设置底部距离的
<el-backtop :bottom="60"> </el-backtop>
//带文字的
<el-backtop :bottom="60">
<div
style="{
height: 100%;
width: 100%;
background-color: #f2f5f6;
box-shadow: 0 0 6px rgba(0,0,0, .12);
text-align: center;
line-height: 40px;
color: #1989fa;
}"
>
top
</div>
</el-backtop>引用了element 直接使用就行!
vue原生回到顶部
<template>
<div class="">
<transition>
<div class="gotop-index" v-show="btnFlag">
<a href="javascript:;" rel="external nofollow" class="gotop-a" @click="backTop"></a>
</div>
</transition>
</div>
</template>
<script>
export default {
data() {
return {
btnFlag: false
}
},
mounted() {
// 此处true需要加上,不加滚动事件可能绑定不成功
window.addEventListener("scroll", this.scrollToTop, true);
},
destroyed() {
window.removeEventListener("scroll", this.scrollToTop, true);
},
methods:{
backTop() {
const that = this;
let timer = setInterval(() => {
let ispeed = Math.floor(-that.scrollTop / 5);
document.documentElement.scrollTop = document.body.scrollTop =
that.scrollTop + ispeed;
if (that.scrollTop === 0) {
clearInterval(timer);
}
}, 16);
},
// 为了计算距离顶部的高度,当高度大于60显示回顶部图标,小于60则隐藏
scrollToTop() {
console.log(123);
const that = this;
let scrollTop =
window.pageYOffset ||
document.documentElement.scrollTop ||
document.body.scrollTop;
that.scrollTop = scrollTop;
if (that.scrollTop > 30) {
that.btnFlag = true;
} else {
that.btnFlag = false;
}
},
},
}
</script>
<style lang="css" scoped>
.wrap_box{
}
/*返回顶部*/
.gotop-index {
position: fixed;
right: 0.6rem;
bottom: 1.6rem;
display: block;
width: 0.8rem;
height: 0.8rem;
background: #fff;
box-shadow: 0px 0px 4px #ff0000;
display: flex;
border-radius: 50%;
z-index: 999;
}
.gotop-a {
display: block;
width: 0.5rem;
height: 0.5rem;
background: url(~@/assets/images/icon-top.gif) no-repeat 0 0;
background-size: 0.5rem;
margin: auto;
}
</style>总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
