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 相关文章推荐
JavaScript 中的事件教程
Apr 05 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
Oct 08 Javascript
jquery插件制作教程 txtHover
Aug 17 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
Aug 30 Javascript
jQuery实现可展开合拢的手风琴面板菜单
Sep 15 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
Dec 03 Javascript
jQuery EasyUI 入门必看
Jun 03 Javascript
require.js配合插件text.js实现最简单的单页应用程序
Jul 12 Javascript
jQuery无缝轮播图代码
Dec 22 Javascript
微信小程序-获得用户输入内容
Feb 13 Javascript
AngularJS使用拦截器实现的loading功能完整实例
May 17 Javascript
js学习心得_一个简单的动画库封装tween.js
Jul 14 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 URL编码解码函数代码
2009/03/10 PHP
php文件怎么打开 如何执行php文件
2011/12/21 PHP
PHP速成大法
2015/01/30 PHP
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
jQuery中$.fn的用法示例介绍
2013/11/05 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
jQuery基本选择器之标签名选择器
2016/09/03 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
记一次webpack3升级webpack4的踩坑经历
2018/06/12 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
Python入门篇之列表和元组
2014/10/17 Python
python编写爬虫小程序
2015/05/14 Python
python开发之str.format()用法实例分析
2016/02/22 Python
解决Mac下首次安装pycharm无project interpreter的问题
2018/10/29 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
优秀求职自荐信怎样写
2013/12/18 职场文书
工程售后服务承诺书
2014/05/21 职场文书
民族团结先进集体事迹材料
2014/05/22 职场文书
法制宣传标语集锦
2014/06/25 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python
ubuntu20.04虚拟机无法上网的问题及解决
2022/12/24 Servers