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 相关文章推荐
些很实用且必用的小脚本代码
Jun 26 Javascript
jquery多浏览器捕捉回车事件代码
Jun 22 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
Dec 25 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
Jun 27 Javascript
基于jQuery实现瀑布流页面
Apr 11 jQuery
Vue中添加手机验证码组件功能操作方法
Dec 07 Javascript
react 实现页面代码分割、按需加载的方法
Apr 03 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
Apr 23 Javascript
如何安装控制器JavaScript生成插件详解
Oct 21 Javascript
Vue中axios拦截器如何单独配置token
Dec 27 Javascript
JavaScript封装单向链表的示例代码
Sep 17 Javascript
详解Vue slot插槽
Nov 20 Vue.js
详解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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
php短信接口代码
2016/05/13 PHP
jquery ready()的几种实现方法小结
2010/06/18 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
js实现模拟银行卡账号输入显示效果
2015/11/18 Javascript
使用vue编写一个点击数字计时小游戏
2016/08/31 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
微信小程序停止其他视频播放当前视频的实例代码
2019/12/25 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
小程序表单认证布局及验证详解
2020/06/19 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
python list删除元素时要注意的坑点分享
2018/04/18 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
Pycharm小白级简单使用教程
2020/01/08 Python
python3 sleep 延时秒 毫秒实例
2020/05/04 Python
keras得到每层的系数方式
2020/06/15 Python
Python接收手机短信的代码整理
2020/08/02 Python
css3 伪元素和伪类选择器详解
2014/09/04 HTML / CSS
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
马来西亚排名第一的宠物用品店:Pets Wonderland
2020/04/16 全球购物
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
小学教师工作总结2015
2015/04/07 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL