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.0中setup使用(两种用法)
Dec 02 Vue.js
vue使用require.context实现动态注册路由
Dec 25 Vue.js
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
Vue页面渲染中key的应用实例教程
Jan 12 Vue.js
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 Vue.js
vue前端工程的搭建
Mar 31 Vue.js
原生JS封装vue Tab切换效果
Apr 28 Vue.js
使用这 6个Vue加载动画库来减少我们网站的跳出率
May 18 Vue.js
关于Vue中的options选项
Mar 22 Vue.js
vue使用element-ui按需引入
May 20 Vue.js
vue中三级导航的菜单权限控制
Mar 31 #Vue.js
vue3中的组件间通信
vue前端工程的搭建
vue中data改变后让视图同步更新的方法
vue3如何优雅的实现移动端登录注册模块
开发一个封装iframe的vue组件
如何让vue长列表快速加载
You might like
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
php实现搜索类封装示例
2016/03/31 PHP
PHP中大括号'{}'用法实例总结
2017/02/08 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
jQuery 淡出一个图像到另一个图像的实现代码
2013/06/12 Javascript
js中对象的声明方式以及数组的一些用法示例
2013/12/11 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python遍历目录中的所有文件的方法
2016/07/08 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
django与vue的完美结合_实现前后端的分离开发之后在整合的方法
2019/08/12 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
2012/12/05 面试题
大专毕业生自我鉴定
2013/11/21 职场文书
西安交大自主招生自荐信
2014/01/27 职场文书
繁星春水读书笔记
2015/06/30 职场文书
运动会加油稿
2015/07/22 职场文书
高一语文教学反思
2016/02/16 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python
前端JS获取URL参数的4种方法总结
2022/04/05 Javascript