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两段代码,两个小技巧
Feb 04 Javascript
利用了jquery的ajax实现二级联互动菜单
Dec 02 Javascript
jQuery - css() 方法示例详解
Jan 16 Javascript
解决bootstrap中modal遇到Esc键无法关闭页面
Mar 09 Javascript
Javascript的表单验证-初识正则表达式
Mar 18 Javascript
微信小程序 setData的使用方法详解
Apr 20 Javascript
angular基于ng-alain定义自己的select组件示例
Feb 23 Javascript
vue-cli+webpack项目 修改项目名称的方法
Feb 28 Javascript
axios 处理 302 状态码的解决方法
Apr 10 Javascript
纯js封装的ajax功能函数与用法示例
May 14 Javascript
vue中的自定义分页插件组件的示例
Aug 18 Javascript
通过实例解析json与jsonp原理及使用方法
Sep 27 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作的文本留言本的例子(六)
2006/10/09 PHP
PHP 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
Zend Framework教程之视图组件Zend_View用法详解
2016/03/05 PHP
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
2013/12/16 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
js 开发之autocomplete=&quot;off&quot;在chrom中失效的解决办法
2017/09/28 Javascript
nodejs使用redis作为缓存介质实现的封装缓存类示例
2018/02/07 NodeJs
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
jQuery操作选中select下拉框的值代码实例
2020/02/07 jQuery
微信小程序收藏功能的实现代码
2020/06/19 Javascript
Django 使用logging打印日志的实例
2018/04/28 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
解决django FileFIELD的编码问题
2020/03/30 Python
Python项目跨域问题解决方案
2020/06/22 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
举例说明类变量和实例变量的区别
2016/06/30 面试题
财务会计专业应届毕业生求职信
2013/10/18 职场文书
2014年公司庆元旦活动方案
2014/03/05 职场文书
2014年会策划方案
2014/05/11 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
2015年新农合工作总结
2015/03/30 职场文书
婚宴领导致辞
2015/07/28 职场文书
爱国教育主题班会
2015/08/14 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python