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 相关文章推荐
JS 动态获取节点代码innerHTML分析 [IE,FF]
Nov 30 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
Apr 27 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 Javascript
jquery实现的一个文章自定义分段显示功能
May 23 Javascript
分享Javascript实用方法二
Dec 13 Javascript
jQuery购物网页经典制作案例
Aug 19 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
Sep 27 Javascript
详解ECharts使用心得总结
Dec 06 Javascript
mac上node.js环境的安装测试
Jul 03 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
Sep 02 Javascript
VUE 实现复制内容到剪贴板的两种方法
Apr 24 Javascript
超详细小程序定位地图模块全系列开发教学
Nov 24 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
用php将任何格式视频转为flv的代码
2009/09/03 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
asp批量修改记录的代码
2008/06/25 Javascript
使用js 设置url参数
2013/07/08 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
vue实现全选、反选功能
2020/11/17 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
详解Webpack loader 之 file-loader
2018/11/07 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
python实现给微信公众号发送消息的方法
2017/06/30 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
Python实现分段线性插值
2018/12/17 Python
对Django的restful用法详解(自带的增删改查)
2019/08/28 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
Django ORM filter() 的运用详解
2020/05/14 Python
python实现登录与注册系统
2020/11/30 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
自荐书格式
2013/12/01 职场文书
英语道歉信范文
2014/01/09 职场文书
韩国商务邀请函
2014/01/14 职场文书
新年寄语大全
2014/04/12 职场文书
2014年精神文明工作总结
2014/12/23 职场文书
考研复习计划
2015/01/19 职场文书
漂亮妈妈观后感
2015/06/08 职场文书
房产销售员2015年终工作总结
2015/10/22 职场文书
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python