vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue3 Element-Plus el-backtop无效

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")

直接贴代码 拿去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>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文