vue backtop组件的实现完整代码


Posted in Vue.js onApril 07, 2021

效果:

vue backtop组件的实现完整代码

代码:

<template>
 <div class="back-top">
  <div >
   <img src="imgsrc" class="line" :class="isHide? 'isHide': 'isShow'" :style="{display: (firstShow? 'block': 'none')}" @click="backTop">
  </div>
 </div>
</template>

<script>
export default {
 name: "backTop",
 data(){
  return {
   firstShow: false,//初始化隐藏组件
   isHide: false,
   scrollFLag: true,
  }
 },
 created() {
  document.addEventListener('scroll', () => {
   let scroll = document.documentElement.scrollTop
   if(scroll > 200){
    this.isHide = false
    this.firstShow = true
   }else{
    this.isHide = true
   }
  })
 },
 methods: {
  backTop(){
   if(this.scrollFLag){
    this.scrollFLag = false
    //屏幕高度
    let scroll = document.documentElement.scrollTop
    let scrollTimer = setInterval(()=> {
     scroll -= 50
     document.documentElement.scrollTop = Math.max(scroll, 0)
     if( scroll <= 0){
      clearInterval(scrollTimer)
     }
    }, 10)
    this.scrollFLag = true
   }
  },
 },
}
</script>

<style scoped lang="scss">
.back-top{
 position: fixed;
 top: 0;
 right: 10vw;
 width: 20px;
 height: 500px;
 z-index: 200;
 .line{
  width: 12vw;
  height: 100%;
  z-index: 20;
  cursor: pointer;
  opacity: 0.8;
  transform: translateY(-100%);
  &:hover{
   opacity: 1;
  }
 }
 .isShow{
  animation: back-top-move 0.5s forwards linear, back-top-yurayura 2s 0.6s forwards linear infinite;
 }
 .isHide{
  animation: back-top-hide 0.5s forwards linear;
 }
}

@keyframes back-top-hide {
 from {
  transform: translateY(0);
 }
 to {
  transform: translateY(-100%);
 }
}

@keyframes back-top-move {
 to {
  transform: translateY(0);
 }
}
@keyframes back-top-yurayura {
 0%{transform-origin: top center;transform: rotate(0)}
 25%{transform-origin: top center;transform: rotate(2deg)}
 75%{transform-origin: top center;transform: rotate(-2deg)}
 100%{transform-origin: top center;transform: rotate(0)}
}
</style>

到此这篇关于vue backtop组件的实现完整代码的文章就介绍到这了,更多相关vue backtop组件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
Vue3配置axios跨域实现过程解析
Nov 25 Vue.js
vue中如何自定义右键菜单详解
Dec 08 Vue.js
vue中实现点击空白区域关闭弹窗的两种方法
Dec 30 Vue.js
vue项目如何监听localStorage或sessionStorage的变化
Jan 04 Vue.js
vue实现验证用户名是否可用
Jan 20 Vue.js
Vite和Vue CLI的优劣
Jan 30 Vue.js
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
vue项目两种方式实现竖向表格的思路分析
Apr 28 Vue.js
vue组件的路由高亮问题解决方法
May 11 Vue.js
Vue elementUI表单嵌套表格并对每行进行校验详解
Feb 18 Vue.js
vue 实现弹窗关闭后刷新效果
Apr 08 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 Vue.js
vue中三级导航的菜单权限控制
Mar 31 #Vue.js
vue3中的组件间通信
vue前端工程的搭建
vue中data改变后让视图同步更新的方法
vue3如何优雅的实现移动端登录注册模块
开发一个封装iframe的vue组件
如何让vue长列表快速加载
You might like
建立文件交换功能的脚本(三)
2006/10/09 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
jQuery的一些注意
2006/12/06 Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
javascript instanceof 与typeof使用说明
2010/01/11 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
2013/08/30 Javascript
javascript 中__proto__和prototype详解
2014/11/25 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
jquery实现点击变换导航样式的方法
2015/08/31 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
react学习笔记之state以及setState的使用
2017/12/07 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
关于vue3默认把所有onSomething当作v-on事件绑定的思考
2020/05/15 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
python生成器表达式和列表解析
2016/03/10 Python
python进阶之多线程对同一个全局变量的处理方法
2018/11/09 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
python修改字典键(key)的方法
2019/08/05 Python
Python函数中的可变长参数详解
2019/09/12 Python
python根据文本生成词云图代码实例
2019/11/15 Python
python导入不同目录下的自定义模块过程解析
2019/11/18 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
软件测试工程师面试问题精选
2016/10/28 面试题
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
小学班主任评语
2014/12/29 职场文书
2015年化验员工作总结
2015/04/10 职场文书
签字仪式主持词
2015/07/03 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
Java 超详细讲解IO操作字节流与字符流
2022/03/25 Java/Android
一文了解MYSQL三大范式和表约束
2022/04/03 MySQL