美文网首页
用vue封装一个返回顶部的按钮组件goTop.vue

用vue封装一个返回顶部的按钮组件goTop.vue

作者: 似朝朝我心 | 来源:发表于2022-03-31 09:13 被阅读0次

这是1个封装好的返回顶部组件

<template>
  <div>
    <div v-if="activeShow" class="goTop" ref="goTop" @click="goTopClick">
      <i class="el-icon-caret-top"></i>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
        //默认关闭
      activeShow: false,
    };
  },
  methods: {
    goTopClick() {
      document.documentElement.scrollIntoView({ behavior: "smooth" });
    },
    handleScroll() {
      let heightt = document.documentElement.scrollTop || document.body.scrollTop;
      console.log(height); //滚动高度
      if (heightt  > 1200) {
        this.activeShow = true;
      } else {
        this.activeShow = false;
      }
    },
  },
  mounted() {
      //监听滚动条
    window.addEventListener("scroll", this.handleScroll, true);
  },
};
</script>

<style lang="less" scoped>
.goTop {
  position: fixed;
  background-color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: #409eff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  box-shadow: 0 0 6px rgb(0 0 0 / 12%);
  cursor: pointer;
  z-index: 5;
  right: 5%;
  bottom: 10%;
  &:hover {
    background-color: #f2f6fc;
  }
}
</style>

在需要使用返回顶部按钮的地方引入使用即可

如果全局都需要返回顶部按钮,直接在app.vue引入更好。

<template>
  <div id="app">
      <goTop></goTop>
    <router-view></router-view>
  </div>
</template>
<script>
import goTop from '@/components/goTop'
export default {
    components:{
        goTop
    }
}

按钮固定在视窗右下角的位置


参数调节:滚动到哪个高度时触发按钮实现返回顶部功能。

我这里设置了200的滚动视窗高度,滚动到200就触发按钮,该滚动高度可以自己设置。

相关文章

网友评论

      本文标题:用vue封装一个返回顶部的按钮组件goTop.vue

      本文链接:https://www.haomeiwen.com/subject/ysjwjrtx.html