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 相关文章推荐
js null undefined 空区别说明
Jun 13 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 Javascript
JavaScript中的eval()函数使用介绍
Dec 31 Javascript
jQuery+PHP实现动态数字展示特效
Mar 14 Javascript
JavaScript模板引擎用法实例
Jul 10 Javascript
详解JS面向对象编程
Jan 24 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
Mar 23 Javascript
浅谈JS中的反柯里化( uncurrying)
Aug 17 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
Dec 27 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
May 16 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
Jun 10 Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 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 压缩文件夹的类代码
2009/11/05 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
2011/12/12 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
JS简单实现多级Select联动菜单效果代码
2015/09/06 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
[07:57]DOTA2热力大趴狂欢夜 广州站活动回顾
2013/11/27 DOTA
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
Python循环语句中else的用法总结
2016/09/11 Python
基于python实现简单日历
2018/07/28 Python
OpenCV-Python 摄像头实时检测人脸代码实例
2019/04/30 Python
python对csv文件追加写入列的方法
2019/08/01 Python
使用python实现滑动验证码功能
2019/08/05 Python
使用CSS3来制作消息提醒框
2015/07/12 HTML / CSS
四好少年事迹材料
2014/01/12 职场文书
社区庆八一活动方案
2014/02/02 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
医生个人年度总结
2015/02/28 职场文书
拿破仑传读书笔记
2015/07/01 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
Vue+Flask实现图片传输功能
2022/04/01 Vue.js
js判断两个数组相等的5种方法
2022/05/06 Javascript
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android