JS实现回到页面顶部动画效果的简单实例


Posted in Javascript onMay 24, 2016

最近在模仿各大网站写页面样式和交互,发现好多都有回到顶部的需要,所以写了一下js,记录下来。

发现还可以添加从快到慢的动画效果和随时下拉滚动条停止滚动的功能, 参考了imooc上相关课程,最终实现JS代码如下:

//页面加载后触发
window.onload = function(){
  var btn = document.getElementById('btn');
  var timer = null;
  var isTop = true;
  //获取页面可视区高度
  var clientHeight = document.documentElement.clientHeight;

  
  //滚动条滚动时触发
  window.onscroll = function() {
  //显示回到顶部按钮
    var osTop = document.documentElement.scrollTop || document.body.scrollTop;
    if (osTop >= clientHeight) {
      btn.style.display = "block";
    } else {
      btn.style.display = "none";
    };
  //回到顶部过程中用户滚动滚动条,停止定时器
    if (!isTop) {
      clearInterval(timer);
    };
    isTop = false;

  };

  btn.onclick = function() {
    //设置定时器
    timer = setInterval(function(){
      //获取滚动条距离顶部高度
      var osTop = document.documentElement.scrollTop || document.body.scrollTop;
      var ispeed = Math.floor(-osTop / 7);
      
      document.documentElement.scrollTop = document.body.scrollTop = osTop+ispeed;
      //到达顶部,清除定时器
      if (osTop == 0) {
        clearInterval(timer);
      };
      isTop = true;
      
    },30);
  };
};

以上这篇JS实现回到页面顶部动画效果的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 实现css风格选择器(压缩后2KB)
Jan 12 Javascript
jquery判断复选框选中状态以及区分attr和prop
Dec 18 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
Mar 09 Javascript
详细分析Javascript中创建对象的四种方式
Aug 17 Javascript
详解jquery validate实现表单验证 (正则表达式)
Jan 18 Javascript
jQuery中table数据的值拷贝和拆分
Mar 19 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
解决JS内存泄露之js对象和dom对象互相引用问题
Jun 25 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
Sep 05 Javascript
vue组件中的样式属性scoped实例详解
Oct 30 Javascript
如何从零开始手写Koa2框架
Mar 22 Javascript
VueJS实现用户管理系统
May 29 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
May 24 #Javascript
JS 清除字符串数组中,重复元素的实现方法
May 24 #Javascript
原生js的数组除重复简单实例
May 24 #Javascript
实例讲解jQuery中对事件的命名空间的运用
May 24 #Javascript
json传值以及ajax接收详解
May 24 #Javascript
JS获取屏幕高度的简单实现代码
May 24 #Javascript
基于JavaScript实现回到页面顶部动画代码
May 24 #Javascript
You might like
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
php短址转换实现方法
2015/02/25 PHP
php简单的上传类分享
2016/05/15 PHP
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
JQuery Tips相关(1)----关于$.Ready()
2014/08/14 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
js实现鼠标触发图片抖动效果的方法
2015/02/27 Javascript
JavaScript的jQuery库中function的存在和参数问题
2015/08/13 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
JavaScript引用类型之基本包装类型实例分析【Boolean、Number和String】
2018/08/09 Javascript
Vue使用watch监听一个对象中的属性的实现方法
2019/05/10 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
Vue发布项目实例讲解
2019/07/17 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
python里对list中的整数求平均并排序
2014/09/12 Python
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
详解Python是如何实现issubclass的
2019/07/24 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
纯CSS3实现鼠标悬停提示气泡效果
2014/02/28 HTML / CSS
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
CSS3中新增的对文本和字体的设置
2020/02/03 HTML / CSS
个人银行贷款担保书
2014/04/01 职场文书
法院信息化建设方案
2014/05/21 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
2014年文明创建工作总结
2014/11/25 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
廉洁自律证明
2015/06/24 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书