js简单的点击返回顶部效果实现方法


Posted in Javascript onApril 10, 2015

本文实例讲述了js简单的点击返回顶部效果实现方法。分享给大家供大家参考。具体分析如下:

当页面特别长的时候,用户想回到页面顶部,必须得滚动好几次滚动键才能回到顶部,如果在页面右下角有个“返回顶部”的按钮,用户点击一下,就可以回到顶部,对于用户来说,是一个比较好的体验。

实现原理:当页面加载的时候,把元素定位到页面的右下角,当页面滚动时,元素一直位于右下角,当用户点击的时候,页面回到顶部。

要点一:document.documentElement.clientWidth || document.body.clientWidth; 获得可视区的宽度。后面是兼容chrome,前面是兼容其它浏览器。

要点二:oTop.style.left = screenw - oTop.offsetWidth +"px";  当页面加载时,让元素的位置位于页面最右边,用可视区的宽度减去元素本身的宽度。

要点三:oTop.style.top = screenh - oTop.offsetHeight + scrolltop +"px"; 当页面滚动时,元素的Y坐标位置等于可视区的高度减去元素本身的高度,加上滚动距离。

要点四:document.documentElement.scrollTop = document.body.scrollTop =0; 当点击元素时,让页面的滚动距离为0.写两个是为了兼容。
 
上代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>无标题文档</title>
<style>
body{margin:0; padding:0}
#to_top{width:30px; height:40px; padding:20px; font:14px/20px arial; text-align:center; background:#06c; position:absolute; cursor:pointer; color:#fff}
</style>
<script>
window.onload = function(){
 var oTop = document.getElementById("to_top");
 var screenw = document.documentElement.clientWidth || document.body.clientWidth;
 var screenh = document.documentElement.clientHeight || document.body.clientHeight;
 oTop.style.left = screenw - oTop.offsetWidth +"px";
 oTop.style.top = screenh - oTop.offsetHeight + "px";
 window.onscroll = function(){
  var scrolltop = document.documentElement.scrollTop || document.body.scrollTop;
  oTop.style.top = screenh - oTop.offsetHeight + scrolltop +"px";
 }
 oTop.onclick = function(){
  document.documentElement.scrollTop = document.body.scrollTop =0;
 }
} 
</script>
</head>
<body style="height:1000px;">
<h1>返回顶部</h1>
<div id="to_top">返回顶部</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript 显示当前系统时间代码
Dec 28 Javascript
vs2003 js文件编码问题的解决方法
Mar 20 Javascript
ExtJS 设置级联菜单的默认值
Jun 13 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
Jul 08 Javascript
Underscore.js常用方法总结
Feb 28 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
Dec 29 Javascript
javascript 正则表达式分组、断言详解
Apr 20 Javascript
详解Vue用axios发送post请求自动set cookie
May 10 Javascript
js,jq,css多方面实现简易下拉菜单功能
May 13 Javascript
详解vuex结合localstorage动态监听storage的变化
May 03 Javascript
vue使用i18n实现国际化的方法详解
Sep 05 Javascript
vue监听dom大小改变案例
Jul 29 Javascript
浅谈JavaScript正则表达式分组匹配
Apr 10 #Javascript
JavaScript实现基于Cookie的存储类实例
Apr 10 #Javascript
JavaScript 变量、作用域及内存
Apr 08 #Javascript
JavaScript Function函数类型介绍
Apr 08 #Javascript
JavaScript 模块化编程(笔记)
Apr 08 #Javascript
JavaScript DOM事件(笔记)
Apr 08 #Javascript
javascript笛卡尔积算法实现方法
Apr 08 #Javascript
You might like
PHP 500报错的快速解决方法
2016/12/14 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
一个简单的弹性返回顶部JS代码实现介绍
2013/06/09 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
如何在JavaScript中优雅的提取循环内数据详解
2019/03/04 Javascript
Python类的专用方法实例分析
2015/01/09 Python
python 连接各类主流数据库的实例代码
2018/01/30 Python
浅析Python 读取图像文件的性能对比
2019/03/07 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
MAC Cosmetics巴西官方网站:M·A·C彩妆
2019/04/18 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
如何开启linux的ssh服务
2013/06/03 面试题
村官工作鉴定评语
2014/01/27 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
检察机关个人对照检查材料
2014/09/15 职场文书
假期安全教育广播稿
2014/10/04 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
经营场所证明范本
2015/06/19 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
python flask开发的简单基金查询工具
2021/06/02 Python
深入理解go缓存库freecache的使用
2022/02/15 Golang