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 new一个对象的实质
Jan 07 Javascript
基于jQuery的倒计时插件代码
May 07 Javascript
jquery简单实现鼠标经过导航条改变背景图
Dec 17 Javascript
基于jQuery实现的扇形定时器附源码下载
Oct 20 Javascript
基于jQuery实现的查看全文功能【实用】
Dec 11 Javascript
jquery submit()不能提交表单的解决方法
Apr 24 jQuery
underscore之Collections_动力节点Java学院整理
Jul 10 Javascript
React Native实现进度条弹框的示例代码
Jul 17 Javascript
Vue.js用法详解
Nov 13 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
Feb 08 Javascript
微信小程序日历/日期选择插件使用方法详解
Dec 28 Javascript
微信公众号H5支付接口调用方法
Jan 10 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单链表实现代码分享
2016/07/04 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
ScrollDown的基本操作示例
2013/06/09 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
JavaScript中日期函数的相关操作知识
2016/08/03 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
Vue中对比scoped css和css module的区别
2018/05/17 Javascript
JS使用iView的Dropdown实现一个右键菜单
2019/05/06 Javascript
微信小程序制作扭蛋机代码实例
2019/09/24 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
精读《Vue3.0 Function API》
2020/05/20 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
django写用户登录判定并跳转制定页面的实例
2019/08/21 Python
如何基于python操作excel并获取内容
2019/12/24 Python
Tensorflow实现在训练好的模型上进行测试
2020/01/20 Python
pytorch masked_fill报错的解决
2020/02/18 Python
python爬取微博评论的实例讲解
2021/01/15 Python
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
班组长的岗位职责
2013/12/09 职场文书
有关环保的标语
2014/06/13 职场文书
学校综治宣传月活动总结
2014/07/02 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
jquery插件实现代码雨特效
2021/04/24 jQuery
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
CSS布局之浮动(float)和定位(position)属性的区别
2021/09/25 HTML / CSS
create-react-app开发常用配置教程
2022/06/25 Javascript