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 相关文章推荐
检测input每次的输入是否合法遇到汉字输入就有问题
May 23 Javascript
怎么判断js脚本加载完成
Feb 28 Javascript
百度移动版的url编码解码示例
Apr 29 Javascript
JavaScript中number转换成string介绍
Dec 31 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
Nov 12 Javascript
VueJs路由跳转——vue-router的使用详解
Jan 10 Javascript
AngularJS实现的JSONP跨域访问数据传输功能详解
Jul 20 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
Jul 27 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
Aug 25 Javascript
p5.js实现简单货车运动动画
Oct 23 Javascript
JS Canvas接口和动画效果大全
Apr 29 Javascript
JavaScript中的宏任务和微任务详情
Nov 27 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实现WEB动态网页静态
2006/10/09 PHP
Zend Studio 实用快捷键一览表(精心整理)
2013/08/10 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
PHP多线程之内部多线程实例分析
2015/03/09 PHP
yii2控制器Controller Ajax操作示例
2016/07/23 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
Zero Clipboard js+swf实现的复制功能使用方法
2010/03/07 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
基于jQuery的倒计时实现代码
2012/05/30 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
原生ajax处理json格式数据的实例代码
2016/12/25 Javascript
详解express + mock让前后台并行开发
2018/06/06 Javascript
说说如何在Vue.js中实现数字输入组件的方法
2019/01/08 Javascript
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
Python3中详解fabfile的编写
2018/06/24 Python
linux安装python修改默认python版本方法
2019/03/31 Python
YUV转为jpg图像的实现
2019/12/09 Python
Python如何将函数值赋给变量
2020/04/28 Python
Python3爬虫mitmproxy的安装步骤
2020/07/29 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
机械设计及其自动化专业求职信
2014/06/09 职场文书
电力培训心得体会
2014/09/02 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
信息简报范文
2015/07/21 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python