点击回到顶部

 默认不显示回到顶部的按钮,当滚动条滚到大于100像素的时候,回到顶部的按钮显示,点击顶部按钮回到顶部,然后回到顶部的按钮消失。

    

1、 先在项目里面引入iconfont图标,我使用iconfont Unicode编码线上字体图标,创建一个

iconfont.css文件,把下面的代码复值到iconfont.css文件保存。

@font-face {

    font-family: 'iconfont';  /* Project id 2737254 */

    src: url('//at.alicdn.com/t/font_2737254_1zdflbjtvny.woff2?t=1628660156120') format('woff2'),

         url('//at.alicdn.com/t/font_2737254_1zdflbjtvny.woff?t=1628660156120') format('woff'),

         url('//at.alicdn.com/t/font_2737254_1zdflbjtvny.ttf?t=1628660156120') format('truetype');

  }

2、在哪使用就在哪引入,我是在app.vue里使用,app.vue组件style部分引入@import "./assets/css/iconfont.css";

3、结构部分

<template>

    <div class="footer">

      <div class="iconfont" v-show="gotop" @click="toTop">&#xe7ed;</div>

    </div>

</template>

4、js部分

export default {

  data() {

    return {

      gotop: false

    };

  },

  mounted() {  // 此处true需要加上,不加滚动事件可能绑定不成功

    window.addEventListener("scroll", this.handleScroll, true);

  },

  methods: {

    handleScroll() {

       let scrolltop = document.documentElement.scrollTop || document.body.scrollTop;

      scrolltop > 100 ? (this.gotop = true) : (this.gotop = false);

    },

    toTop() { 

      let top = document.documentElement.scrollTop || document.body.scrollTop;

      // 实现滚动效果 

      const timeTop = setInterval(() => {

        document.body.scrollTop = document.documentElement.scrollTop = top -= 50;

        if (top <= 0) {

          clearInterval(timeTop);

        }

      }, 10);

    }

  }

}

5、css部分

@import "./assets/css/iconfont.css";

.footer {

  height: 2000px

}

.iconfont {

  display: inline-block;

  font-family: "iconfont" !important;

  font-size: 16px;

  font-style: normal;

  color: #55aaf8;

  text-align: center;

  line-height: 30px;

  width: 30px;

  height: 30px;

  border-radius: 50%;

  box-shadow: 0px 0px 10px #f6f6f6;

  text-align: center;

  position: fixed;

  right: 50px;

  bottom: 30px;

  cursor: pointer;

  background: white;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值