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 element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
实用的 vue tags 创建缓存导航的过程实现
Dec 03 Vue.js
vue实现两个区域滚动条同步滚动
Dec 13 Vue.js
Vue——前端生成二维码的示例
Dec 19 Vue.js
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
Vue实现随机验证码功能
Dec 29 Vue.js
Vue-router编程式导航的两种实现代码
Mar 04 Vue.js
Vue接口封装的完整步骤记录
May 14 Vue.js
vue.js Router中嵌套路由的实用示例
Jun 27 Vue.js
详细聊聊vue中组件的props属性
Nov 02 Vue.js
vue 给数组添加新对象并赋值
Apr 20 Vue.js
vue中三级导航的菜单权限控制
Mar 31 #Vue.js
vue3中的组件间通信
vue前端工程的搭建
vue中data改变后让视图同步更新的方法
vue3如何优雅的实现移动端登录注册模块
开发一个封装iframe的vue组件
如何让vue长列表快速加载
You might like
PHP+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
浅谈PHP Cookie处理函数
2016/06/10 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
2014/04/08 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
深入浅析ES6 Class 中的 super 关键字
2017/10/20 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
jQuery位置选择器用法实例分析
2019/06/28 jQuery
json 带斜杠时如何解析的实现
2019/08/12 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
js+canvas实现纸牌游戏
2020/03/16 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
2020/07/15 Javascript
原生js实现九宫格拖拽换位
2021/01/26 Javascript
python list中append()与extend()用法分享
2013/03/24 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
利用pyinstaller打包exe文件的基本教程
2019/05/02 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
Python读取JSON数据操作实例解析
2020/05/18 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
C#公司笔试题
2014/03/28 面试题
三下乡活动方案
2014/01/31 职场文书
《和我们一样享受春天》教学反思
2014/02/07 职场文书
股权转让协议书
2014/04/12 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
MySQL GRANT用户授权的实现
2021/06/18 MySQL