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 三种不同位置代码的写法
Oct 25 Javascript
比较新旧两个数组值得增加和删除的JS代码
Oct 30 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
Aug 31 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
Nov 04 Javascript
详解Weex基于Vue2.0开发模板搭建
Mar 20 Javascript
微信小程序学习之数据处理详解
Jul 05 Javascript
javascript实现数字配对游戏的实例讲解
Dec 14 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
Feb 05 Javascript
ng-alain表单使用方式详解
Jul 10 Javascript
JS简单表单验证功能完整示例
Jan 26 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
Aug 31 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
Nov 17 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
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
不得不分享的JavaScript常用方法函数集(上)
2015/12/23 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
js只执行1次的函数示例
2016/07/20 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
详解python3中socket套接字的编码问题解决
2017/07/01 Python
python修改txt文件中的某一项方法
2018/12/29 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
巴西网上药店:Drogaria Araujo
2021/01/06 全球购物
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
无工作经验者个人求职信范文
2013/12/22 职场文书
五好党支部事迹材料
2014/02/06 职场文书
《理想》教学反思
2014/02/17 职场文书
文明风采获奖感言
2014/02/18 职场文书
法学专业毕业实习自我鉴定2014
2014/09/27 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
个人先进材料范文
2014/12/30 职场文书
迎新生欢迎词
2015/01/23 职场文书
2015年市场部工作总结
2015/04/30 职场文书
催款函范文
2015/06/24 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js