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 document.referrer 用法
Apr 30 Javascript
javascript 跳转代码集合
Dec 03 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
Jan 23 Javascript
js中apply方法的使用详细解析
Nov 04 Javascript
jQuery判断对象是否存在的方法
Feb 05 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
jQuery 3.0十大新特性最终版发布
Jul 14 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
Jun 13 Javascript
vue实现滑动到底部加载更多效果
Oct 27 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
Jul 22 Javascript
Javascript中的奇葩知识,你知道吗?
Jan 25 Javascript
关于对TypeScript泛型参数的默认值理解
Jul 15 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
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
利用PHP实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
php版微信自动获取收货地址api用法示例
2016/09/22 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
PHP实现文件上传与下载
2020/08/28 PHP
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
jQuery 跨域访问解决原理案例详解
2016/07/09 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
canvas仿iwatch时钟效果
2017/03/06 Javascript
Vue中的数据监听和数据交互案例解析
2017/07/12 Javascript
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
Python 比较文本相似性的方法(difflib,Levenshtein)
2018/10/15 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
Python 代码调试技巧示例代码
2020/08/11 Python
请介绍一下WSDL的文档结构
2013/03/17 面试题
电子商务助理求职自荐信
2014/04/10 职场文书
和睦家庭事迹
2014/05/14 职场文书
2016年春节慰问信息
2015/03/25 职场文书
毕业论文致谢格式模板
2015/05/14 职场文书
导游词之香港-太平山顶
2019/10/18 职场文书
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis
golang的文件创建及读写操作
2022/04/14 Golang
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers