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 相关文章推荐
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
vue实现购物车的小练习
Dec 21 Vue.js
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
vue使用require.context实现动态注册路由
Dec 25 Vue.js
vue3自定义dialog、modal组件的方法
Jan 04 Vue.js
解决Vue+SpringBoot+Shiro跨域问题
Jun 09 Vue.js
Vue图片裁剪组件实例代码
Jul 02 Vue.js
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 Vue.js
详解Vue项目的打包方式(生成dist文件)
Jan 18 Vue.js
VUE使用draggable实现组件拖拽
Apr 06 Vue.js
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
vue如何实现关闭对话框后刷新列表
Apr 08 Vue.js
vue中三级导航的菜单权限控制
Mar 31 #Vue.js
vue3中的组件间通信
vue前端工程的搭建
vue中data改变后让视图同步更新的方法
vue3如何优雅的实现移动端登录注册模块
开发一个封装iframe的vue组件
如何让vue长列表快速加载
You might like
论建造顺序的重要性
2020/03/04 星际争霸
PHP 编程的 5个良好习惯
2009/02/20 PHP
yii操作cookie实例简介
2014/07/09 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
CentOS安装php v8js教程
2015/02/26 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
checkbox使用示例
2013/08/23 Javascript
jQuery中odd选择器的定义和用法
2014/12/23 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
python实现三维拟合的方法
2018/12/29 Python
python用tkinter实现一个简易能进行随机点名的界面
2020/09/27 Python
实习自我评价怎么写
2013/12/02 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
保护地球的标语
2014/06/17 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
小石潭记导游词
2015/02/03 职场文书
小学班级管理心得体会
2016/01/07 职场文书
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers