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 相关文章推荐
基于jQuery的图片剪切插件
Aug 03 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
jQuery stop()用法实例详解
Jul 28 Javascript
Angular JS数据的双向绑定详解及实例
Dec 31 Javascript
Angular的$http的ajax的请求操作(推荐)
Jan 10 Javascript
前端开发必知的15个jQuery小技巧
Jan 22 Javascript
Angular.js跨controller实现参数传递的两种方法
Feb 20 Javascript
JavaScript简单拖拽效果(1)
May 17 Javascript
原生js 封装get ,post, delete 请求的实例
Aug 11 Javascript
原生JS实现的雪花飘落动画效果
May 03 Javascript
elementUI Tree 树形控件的官方使用文档
Apr 25 Javascript
Vue.js使用axios动态获取response里的data数据操作
Sep 08 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
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
一些不错的js函数ajax
2008/08/20 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
从零学jquery之如何使用回调函数
2014/05/16 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
使用vue.js编写蓝色拼图小游戏
2017/03/17 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
Python实现提取文章摘要的方法
2015/04/21 Python
python在linux系统下获取系统内存使用情况的方法
2015/05/11 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
wxpython实现图书管理系统
2018/03/12 Python
Python扩展内置类型详解
2018/03/26 Python
详解python之协程gevent模块
2018/06/14 Python
在python中对变量判断是否为None的三种方法总结
2019/01/23 Python
Python日期时间Time模块实例详解
2019/04/15 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
Python类如何定义私有变量
2020/02/03 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
Django中ORM找出内容不为空的数据实例
2020/05/20 Python
Travelstart沙特阿拉伯:廉价航班、豪华酒店和实惠的汽车租赁优惠
2019/04/06 全球购物
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
Java和Javasciprt的区别
2012/09/02 面试题
Win11怎么进入安全模式?Windows 11进入安全模式的方法
2021/11/21 数码科技
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js