Vue、JavaScript原生 回顶部

Vue、JavaScript原生 回顶部

基于图标来自 element ui ,js原生写法:

  1. <template>
  2.   <div
  3.     id="BackTop"
  4.     @click="BackTop">
  5.     <i class="el-icon-caret-top"/>
  6.   </div>
  7. </template>
  8. <script>
  9. export default {
  10.   methods: {
  11.     BackTop() {
  12.       this.smoothscroll()
  13.     },
  14.     // 回顶部
  15.     smoothscroll() {
  16.       const currentScroll =
  17.         document.documentElement.scrollTop || document.body.scrollTop
  18.       if (currentScroll > 0) {
  19.         window.requestAnimationFrame(this.smoothscroll)
  20.         window.scrollTo(0, currentScroll - currentScroll / 5)
  21.       }
  22.     }
  23.   }
  24. }
  25. </script>
  26. <style lang="scss" scoped>
  27. #BackTop {
  28.   background-color: #fff;
  29.   position: fixed;
  30.   right: 100px;
  31.   bottom: 150px;
  32.   width: 40px;
  33.   height: 40px;
  34.   border-radius: 20px;
  35.   cursor: pointer;
  36.   transition: 0.3s;
  37.   box-shadow: 0 0 6px rgba(0, 0, 0, 0.12);
  38.   z-index: 5;
  39.   &:hover {
  40.     transform: scale(1.2);
  41.   }
  42.   i {
  43.     color: #409eff;
  44.     display: block;
  45.     line-height: 40px;
  46.     text-align: center;
  47.     font-size: 18px;
  48.   }
  49. }
  50. </style>

黄良钵

博客站长,前端开发工程师

2 条评论

  1. 贵安服贸

    博主厉害

  2. 贵安服贸

    博主厉害,学习了

Leave a Reply

Your email address will not be published. Required fields are marked *

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

Vue、JavaScript原生 回顶部
返回顶部
网站稳定运行 : {{ diffYears }}年 零 {{ diffDays }}天 {{ diffHours }} 小时 {{ diffMinutes }} 分钟 {{ diffSeconds }} 秒

显示

忘记密码?

显示

显示

获取验证码

Close