Vue实现回到顶部和底部动画效果


Posted in Javascript onJuly 31, 2019

本文实例为大家分享了Vue实现回到顶部和底部动画效果的具体代码,供大家参考,具体内容如下

Vue实现回到顶部和底部动画效果

代码:

<template>
 <div>
  <div class="scroll" :class="{show:isActive}">
   <div id="toTop" @click="toTop(step)"><</div>
   <div id="toBottom" @click="toBottom(step)">></div>
  </div>
 </div>
</template>
<script>
 export default{
  props:{
   step:{ //此数据是控制动画快慢的
    type:Number,
    default:50 
   }
  },
  data(){
   return {
    isActive:false,
   }
  },
  methods:{
   toTop(i){
    //参数i表示间隔的幅度大小,以此来控制速度
    document.documentElement.scrollTop-=i;
    if (document.documentElement.scrollTop>0) {
     var c=setTimeout(()=>this.toTop(i),16);
    }else {
     clearTimeout(c);
    }
   },
   toBottom(i){
    var clientHeight=document.documentElement.clientHeight||document.body.clientHeight;
    var scrollHeight=document.documentElement.scrollHeight;
    var height=scrollHeight-clientHeight; //超出窗口上界的值就是底部的scrolTop的值
    document.documentElement.scrollTop+=i;
    if (document.documentElement.scrollTop<height) {
     var c=setTimeout(()=>this.toBottom(i),16);
    }else {
     clearTimeout(c);
    }
   }
  },
  created(){
   var vm=this;
   window.οnscrοll=function(){
    if (document.documentElement.scrollTop>60) {
     vm.isActive=true;
    }else {
     vm.isActive=false;
    }
   }
  }
 }
</script>
<style scoped>
 .scroll{
   position: fixed;
   right: 10px;
   bottom: 60px;
   width: 45px;
   height: 90px;
   cursor: pointer;
   display: none;
  }
  .scroll>div{
   width: 45px;
   height: 45px;
   transform: rotate(90deg);
   line-height: 45px;
   text-align: center;
   font-size: 35px;
   font-family: "黑体";
   background-color: rgba(0,0,0,.2);
   color: #fff;
  }
  .scroll>div:hover{
   background-color: rgba(0,0,0,.5);
  }
  .show{
   display: block;
  }
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通过Javascript将数据导出到外部Excel文档的函数代码
Jun 15 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
Jun 12 Javascript
extjs两个tbar问题探讨
Aug 08 Javascript
利用进制转换压缩数字函数分享
Jan 02 Javascript
jQuery遮罩层效果实例分析
Jan 14 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
AngularJS 文件上传控件 ng-file-upload详解
Jan 13 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
Aug 08 jQuery
jQuery 中msgTips 顶部弹窗效果实现代码
Aug 14 jQuery
实例讲解JavaScript预编译流程
Jan 24 Javascript
Vue页面刷新记住页面状态的实现
Dec 27 Javascript
js中实现继承的五种方法
Jan 25 Javascript
详解mpvue实现对苹果X安全区域的适配
Jul 31 #Javascript
vue将后台数据时间戳转换成日期格式
Jul 31 #Javascript
Vue Element UI + OSS实现上传文件功能
Jul 31 #Javascript
原生js代码能实现call和bind吗
Jul 31 #Javascript
微信小程序下拉框搜索功能的实现方法
Jul 31 #Javascript
javascript中undefined的本质解析
Jul 31 #Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
Jul 31 #Javascript
You might like
第八节 访问方式 [8]
2006/10/09 PHP
PHP无限分类(树形类)
2013/09/28 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
2017/05/04 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
Extjs入门之动态加载树代码
2010/04/09 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
可自定义速度的js图片无缝滚动示例分享
2014/01/20 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
js实现页面刷新滚动条位置不变
2016/11/27 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
利用Python开发微信支付的注意事项
2016/08/19 Python
详解python进行mp3格式判断
2016/12/23 Python
Python可变参数用法实例分析
2017/04/02 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
Form表单及django的form表单的补充
2019/07/25 Python
python实现简单银行管理系统
2019/10/25 Python
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
美国在线家装零售商:Build.com
2016/09/02 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
软件测试面试题
2014/01/05 面试题
语文教育专业求职信
2014/06/28 职场文书
预备党员转正思想汇报
2014/09/26 职场文书