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中指定函数名称的相关方法
Jun 04 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
Aug 31 Javascript
JS使用正则表达式除去字符串中重复字符的方法
Nov 05 Javascript
原生js实现autocomplete插件
Apr 14 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
Nov 16 Javascript
JS生成和下载二维码的代码
Dec 07 Javascript
canvas绘制一个常用的emoji表情
Mar 30 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
Jul 09 Javascript
JS使用队列对数组排列,基数排序算法示例
Mar 02 Javascript
微信小程序模板消息推送的两种实现方式
Aug 27 Javascript
vue-next/runtime-core 源码阅读指南详解
Oct 25 Javascript
使用js获取身份证年龄的示例代码
Dec 11 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
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
PHP学习记录之数组函数
2018/06/01 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
JavaScript日历实现代码
2010/09/12 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
如何提高数据访问速度
2016/12/26 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
jquery仿京东商品放大浏览页面
2017/06/06 jQuery
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
js实现坦克移动小游戏
2019/10/28 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
python 2.7.14安装图文教程
2018/04/08 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
css3过渡_动力节点Java学院整理
2017/07/11 HTML / CSS
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
GANT英国官方网上商店:甘特衬衫
2018/02/06 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
报到证丢失证明
2014/01/11 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
教职工代表大会主持词
2014/04/01 职场文书
党员个人公开承诺书
2014/08/29 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
Redis集群的关闭与重启操作
2021/07/07 Redis
关于mysql中string和number的转换问题
2022/06/14 MySQL