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 相关文章推荐
摘自启点的main.js
Apr 20 Javascript
JS面向对象编程浅析
Aug 28 Javascript
使用jquery动态加载javascript以减少服务器压力
Oct 29 Javascript
js无刷新操作table的行和列
Mar 27 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
Mar 21 Javascript
干货分享:让你分分钟学会javascript闭包
Dec 25 Javascript
javascript数组常用方法汇总
Sep 10 Javascript
webpack进阶——缓存与独立打包的用法
Aug 02 Javascript
详解webpack与SPA实践之开发环境搭建
Dec 18 Javascript
vue 录制视频并压缩视频文件的方法
Jul 27 Javascript
AngularJS 多指令Scope问题的解决
Oct 25 Javascript
微信小程序实现锚点跳转
Nov 23 Javascript
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防注入代码
2010/04/07 PHP
php中3种方法统计字符串中每种字符的个数并排序
2012/08/27 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
js自定义select下拉框美化特效
2016/05/12 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
python检测远程udp端口是否打开的方法
2015/03/14 Python
详解Python中的array数组模块相关使用
2016/07/05 Python
python if not in 多条件判断代码
2016/09/21 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
法国家具及室内配件店:home24
2017/01/21 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
《秋天的怀念》教学反思
2016/02/17 职场文书
建立共青团委员会的请示
2019/04/02 职场文书