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 相关文章推荐
vue+vant实现购物车全选和反选功能
Nov 17 Vue.js
VUE+Element实现增删改查的示例源码
Nov 23 Vue.js
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
vue绑定class的三种方法
Dec 24 Vue.js
如何在 Vue 表单中处理图片
Jan 26 Vue.js
vue穿梭框实现上下移动
Jan 29 Vue.js
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
详解vue3中组件的非兼容变更
Mar 03 Vue.js
vue中axios封装使用的完整教程
Mar 03 Vue.js
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
Nov 27 Vue.js
vue的项目如何打包上线
Apr 13 Vue.js
vue实现在data里引入相对路径
Jun 05 Vue.js
vue中三级导航的菜单权限控制
Mar 31 #Vue.js
vue3中的组件间通信
vue前端工程的搭建
vue中data改变后让视图同步更新的方法
vue3如何优雅的实现移动端登录注册模块
开发一个封装iframe的vue组件
如何让vue长列表快速加载
You might like
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
JavaScript实现点击自动选择TextArea文本的方法
2015/07/02 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
JavaScript实现的商品抢购倒计时功能示例
2017/04/17 Javascript
JS实现登录页密码的显示和隐藏功能
2017/12/06 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
JavaScript遍历查找数组中最大值与最小值的方法示例
2019/05/24 Javascript
原生js实现滑块区间组件
2021/01/20 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
win7安装python生成随机数代码分享
2013/12/27 Python
Python break语句详解
2014/03/11 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
了解不常见但是实用的Python技巧
2019/05/23 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
python实现简单文件读写函数
2021/02/25 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
党支部书记先进事迹
2014/01/17 职场文书
中班中秋节活动反思
2014/02/18 职场文书
爱国演讲稿500字
2014/05/04 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
开展警示教育活动总结
2015/05/09 职场文书
golang中的并发和并行
2021/05/08 Golang
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
2022/06/21 Python