javascript返回顶部的按钮实现方法


Posted in Javascript onJanuary 09, 2016

本文实例介绍了javascript返回顶部的按钮实现方法,分享给大家供大家参考,具体内容如下

html:

<a href="javascript:;" id="btn" title="回到顶部"></a>

css:

#btn{position:fixed;display:none;}

script:

获取滚动条高度:document.documentElement.scrollTop || document.body.scrollTop

获取可视区高度:document.documentElement.clientHeight
js代码

window.onload = function(){
  var obtn = document.getElementById('btn');
  //获取页面可视区的高度
  var clientHeight = document.documentElement.clientHeight;
  var timer = null;
  var isTop = true;
  window.onscroll = function(){
    var osTop = document.documentElement.scrollTop || document.body.scrollTop;
    if (osTop >= clientHeight){
    //显示按钮
      obtn.style.display = 'block';
    }else {
    //隐藏按钮
      obtn.style.display = 'none';
    }
    if (!isTop){
      clearInterval(timer);
    }
    isTop = false;
  };
  obtn.onclick = function(){    
    //设置定时器
    timer = setInterval(function(){
      //获取滚动条距离顶部的高度
      var osTop = document.documentElement.scrollTop || document.body.scrollTop;
      var ispeed = Math.floor(-osTop / 6);
      document.documentElement.scrollTop = document.body.scrollTop = osTop +ispeed;
      
      isTop = true;
      if (osTop === 0){
        clearInterval(timer);
      }
    },30);
  };
};

希望本文所述对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
Javascript String.replace的妙用
Sep 08 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
Oct 19 Javascript
JavaScript获取两个数组交集的方法
Jun 09 Javascript
浅谈html转义及防止javascript注入攻击的方法
Dec 04 Javascript
Vue.js 中的 $watch使用方法
May 25 Javascript
Angular 4环境准备与Angular cli创建项目详解
May 27 Javascript
简单实现jquery隔行变色
Nov 09 jQuery
react实现点击选中的li高亮的示例代码
May 24 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
Jul 12 Javascript
微信小程序-API接口安全详解
Jul 16 Javascript
javascript实现放大镜功能
Dec 09 Javascript
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
javascript类型系统 Array对象学习笔记
Jan 09 #Javascript
JS中生成随机数的用法及相关函数
Jan 09 #Javascript
JavaScript电子时钟倒计时
Jan 09 #Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 #Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
Jan 08 #Javascript
学习JavaScript设计模式之状态模式
Jan 08 #Javascript
jQuery CSS3相结合实现时钟插件
Jan 08 #Javascript
You might like
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
php反射应用示例
2014/02/25 PHP
JavaScript实现滚动栏效果的方法
2015/04/27 PHP
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
让编辑器支持word复制黏贴、截屏的js代码
2016/10/17 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
vue 虚拟DOM的原理
2020/10/03 Javascript
[01:38]【DOTA2亚洲邀请赛】Sumail——梦开始的地方
2017/03/03 DOTA
进一步理解Python中的函数编程
2015/04/13 Python
Django原生sql也能使用Paginator分页的示例代码
2017/11/15 Python
Python实现翻转数组功能示例
2018/01/12 Python
详解Python_shutil模块
2019/03/15 Python
Python Subprocess模块原理及实例
2019/08/26 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
2020/10/19 Python
Django model class Meta原理解析
2020/11/14 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
抄作业检讨书
2014/02/17 职场文书
做一个有道德的人活动实施方案
2014/08/23 职场文书
城市规划应届生推荐信
2014/09/08 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
python 如何将两个实数矩阵合并为一个复数矩阵
2021/05/19 Python
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python