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配置axios跨域实现过程解析
Nov 25 Vue.js
Vue实现简单购物车功能
Dec 13 Vue.js
vue实现图书管理系统
Dec 29 Vue.js
Vue+scss白天和夜间模式切换功能的实现方法
Jan 05 Vue.js
vue 实现click同时传入事件对象和自定义参数
Jan 29 Vue.js
Vue 实例中使用$refs的注意事项
Jan 29 Vue.js
如何在 Vue 中使用 JSX
Feb 14 Vue.js
vue-cli4.5.x快速搭建项目
May 30 Vue.js
vue3中provide && inject的使用
Jul 01 Vue.js
Vue的列表之渲染,排序,过滤详解
Feb 24 Vue.js
Vue.Draggable实现交换位置
Apr 07 Vue.js
关于vue-router-link选择样式设置
Apr 30 Vue.js
vue中三级导航的菜单权限控制
Mar 31 #Vue.js
vue3中的组件间通信
vue前端工程的搭建
vue中data改变后让视图同步更新的方法
vue3如何优雅的实现移动端登录注册模块
开发一个封装iframe的vue组件
如何让vue长列表快速加载
You might like
PHP中list()函数用法实例简析
2016/01/08 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
JS表格组件神器bootstrap table详解(基础版)
2015/12/08 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
canvas实现探照灯效果
2017/02/07 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
django 创建过滤器的实例详解
2017/08/14 Python
python中的闭包函数
2018/02/09 Python
python网络应用开发知识点浅析
2019/05/28 Python
将python安装信息加入注册表的示例
2019/11/20 Python
tensorflow的计算图总结
2020/01/12 Python
python连接mysql有哪些方法
2020/06/24 Python
Python eval函数介绍及用法
2020/11/09 Python
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
党员公开承诺书和承诺事项
2014/03/25 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
班级学习计划书
2014/04/27 职场文书
2014年党课学习材料
2014/05/11 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
师德师风自查总结
2014/10/14 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
七年级作文之环保作文
2019/10/17 职场文书
python通过函数名调用函数的几种方法总结
2021/06/07 Python
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL