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 打包的静态文件不能直接运行的原因及解决办法
Nov 19 Vue.js
Vue 实现一个简单的鼠标拖拽滚动效果插件
Dec 10 Vue.js
vue使用exif获取图片旋转,压缩的示例代码
Dec 11 Vue.js
8个非常实用的Vue自定义指令
Dec 15 Vue.js
vue3使用vue-count-to组件的实现
Dec 25 Vue.js
Vue中使用wangeditor富文本编辑的问题
Feb 07 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
vue首次渲染全过程
Apr 21 Vue.js
vue基于Teleport实现Modal组件
May 31 Vue.js
vue使用echarts实现折线图
Mar 21 Vue.js
分享一个vue实现的记事本功能案例
Apr 11 Vue.js
vue-cli3.x配置全局的scss的时候报错问题及解决
Apr 30 Vue.js
vue中三级导航的菜单权限控制
Mar 31 #Vue.js
vue3中的组件间通信
vue前端工程的搭建
vue中data改变后让视图同步更新的方法
vue3如何优雅的实现移动端登录注册模块
开发一个封装iframe的vue组件
如何让vue长列表快速加载
You might like
操作Oracle的php类
2006/10/09 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
js 对象是否存在判断
2009/07/15 Javascript
面向对象的javascript(笔记)
2009/10/06 Javascript
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
javascript实现网页端解压并查看zip文件
2015/12/15 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
javascript 中的console.log和弹出窗口alert
2016/08/30 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
Python3内置模块random随机方法小结
2019/07/13 Python
Python下opencv图像阈值处理的使用笔记
2019/08/04 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
python实现无边框进度条的实例代码
2020/12/30 Python
CSS伪类与CSS伪元素的区别及由来具体说明
2012/12/07 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
小学六一主持词开场白
2015/05/28 职场文书
车辆挂靠协议书
2016/03/23 职场文书