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 相关文章推荐
几行代码轻松搞定jquery实现flash8类似的连接效果
May 03 Javascript
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
May 07 Javascript
javascript处理table表格的代码
Dec 06 Javascript
javascript中一些util方法汇总
Jun 10 Javascript
JavaScript中几种排序算法的简单实现
Jul 29 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
Jan 08 Javascript
jQuery开源组件BootstrapValidator使用详解
Jun 29 jQuery
Bootstrap table使用方法记录
Aug 23 Javascript
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
利用chrome浏览器进行js调试并找出元素绑定的点击事件详解
Jan 30 Javascript
React组件设计模式之组合组件应用实例分析
Apr 29 Javascript
Vue中computed和watch有哪些区别
Dec 19 Vue.js
浅谈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实现redis数据库指定库号迁移的方法
2015/01/14 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
JavaScript Eval 函数使用
2010/03/23 Javascript
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
js不能获取隐藏的div的宽度只能先显示后获取
2014/09/04 Javascript
Angularjs 基础入门
2014/12/26 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
jQuery控制div实现随滚动条滚动效果
2016/06/07 Javascript
详解Angular 自定义结构指令
2017/06/21 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
Vue.JS实现垂直方向展开、收缩不定高度模块的JS组件
2018/06/19 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
easyUI 实现的后台分页与前台显示功能示例
2020/06/01 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
python分布式编程实现过程解析
2019/11/08 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
平面设计师工作职责范文
2013/12/03 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
啤酒节策划方案
2014/05/28 职场文书
预备党员对照检查材料思想汇报
2014/09/24 职场文书
Nginx源码编译安装过程记录
2021/11/17 Servers