js返回页面顶部
第一次写博客,不太专业,废话不多说,直接上自己早上做的东东。有不足之处,希望指点。
css:
body{counter-reset: p;}
p{width: 100px;margin: 20px 0;font: normal 40px/1.5 Arial;text-align: center;border: 1px solid #ccc;}
p:before{content: counter(p);counter-increment: p;}
.scrollTop,.scrollBottom{position: fixed;right: 30px;width: 40px;height: 40px;border: 2px solid #1FA879;border-radius: 5px;cursor: pointer;}
.scrollTop{bottom: 100px;}
.scrollBottom{bottom: 40px;}
.scrollTop:before,.scrollBottom:before{content: "";position: absolute;left: 9px;border: 11px solid transparent;}
.scrollTop:before{top: 3px;border-bottom-color: #1FA879;}
.scrollBottom:before{top: 15px;border-top-color: #1FA879;}
.scrollTop:hover,.scrollBottom:hover{background: #1FA879;}
.scrollTop:hover:before{border-bottom-color: #fff;}
.scrollBottom:hover:before{border-top-color: #fff;}
HTML:
<p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p> <div class="scrollTop" id="scrollTop"></div>
<div class="scrollBottom" id="scrollBottom"></div>
JavaScript:
<script>
(function () {
var top=document.getElementById("scrollTop"),
bottom=document.getElementById("scrollBottom"),
timerTop,timerBottom,timerMove,delayScroll=13,delayMove=23,rate=0.95; top.onclick=function () {
clear(timerTop,timerBottom);
timerTop=setInterval(function() {
if(setTop(getPos().st*rate)===0) clear(timerTop);
}, delayScroll);
}; bottom.onclick=function () {
clear(timerTop,timerBottom);
timerBottom=setInterval(function() {
var r=getPos(),_y=Math.ceil((r.sh-r.st-r.ch)*(1-rate));
if(setTop(_y+r.st)===r.st) clear(timerBottom);
}, delayScroll);
}; top.onmouseover=function () {
clear(timerMove);
timerMove=setInterval(function() {
scrollBy(0,-1);
if(getPos().st===0) clear(timerMove);
}, delayMove);
}; bottom.onmouseover=function () {
clear(timerMove);
timerMove=setInterval(function() {
scrollBy(0,1);
var r=getPos();
if(r.st===r.sh-r.ch) clear(timerMove);
}, delayMove);
}; top.onmouseout=bottom.onmouseout=function () {
clear(timerMove);
} function getPos() {
return {
sh:document.documentElement.scrollHeight,
ch:document.documentElement.clientHeight||document.body.clientHeight,
st:window.scrollY||document.documentElement.scrollTop||document.body.scrollTop
};
} function setTop(s) {
return document.documentElement.scrollTop=document.body.scrollTop=s;
} function clear() {
for (var i = 0; i < arguments.length; clearInterval(arguments[i]),i++);
}
})();
</script>
js返回页面顶部的更多相关文章
- HTML5商城开发五 实现返回页面顶部
本文内容主要是网上参考收集,介绍四种简单的返回页面顶部代码,可以使用简单的HTML锚标记,也可使用Javascript Scroll函数动态返回等等. 一.使用锚标记返回页面顶部 使用HTML锚标记最 ...
- 代码: 返回页面顶部 jquery
jquery代码: 返回页面顶部 <script type="text/javascript" src="http://cdn.bootcss.com/jquery ...
- react-router(v4) 路由跳转后返回页面顶部问题
遇到的问题 由A页面跳转到B页面,B页面停留在A页面的位置,没有返回到顶部. 问题分析 首先分析下出现此问题的原因: 在项目中使用的是 hashHistory,它是建立在 history 之上的,当路 ...
- js网页返回页面顶部的小方法
咳咳,在网页出现滚动条的时候,许多网站会在右下角出现一个图标,点击可以回到页面顶部 本文就记录下js实现代码: 1.在html页面body添加dom元素 <img src="toTop ...
- 解决点击a标签返回页面顶部的问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- jquery实现返回页面顶部功能。
<p id="back-to-top"> <span></span> </p> <script type="text ...
- (转)解决点击a标签返回页面顶部的问题
本文转载至http://www.cnblogs.com/chenluomenggongzi/p/5950670.html 1 <!DOCTYPE html> 2 <html lang ...
- 解决点击空<a>标签返回页面顶部的问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ASP.NET后台输出js大全,页面顶部、form表单中前面与后面、和UpdatePanel(ScriptManager、AJAX)输出JS
Response.Write 与 Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptB ...
随机推荐
- [典型漏洞分享]从一个手动分析的反射型XSS漏洞看待一个安全设计原则【中危】
这是在测试YS“本地相册”功能时发现的一个反射型XSS,自己在安全测试过程中也发现过不少XSS漏洞,唯独这个的发现过程有点区别. 在此之前,我在测试另外一个模块的功能接口的时候发现了一个反射型XSS, ...
- Server-side Query interception with MS SQL Server
up vote15down votefavorite 5 I'm researching into intercepting queries that arrive at the SQL Serv ...
- Maven:程序包org.apache.log4j不存在问题处理
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> & ...
- bash中的通配符使用
通配符的使用 bash命令中的字符由:普通字符.通配符.元字符.转义符构成. 通配符 由shell处理的(不是由所涉及到命令语句处理的,其实我们在shell各个命令中也没有发现有这些通配符介绍), 它 ...
- EASYUI DATAGRID加合计
想达到的效果(计算当前展示的20条的合计数量(一言难尽)): 参考http://www.jb51.net/article/85645.htm(万分感谢该文的作者) 相关代码: function onL ...
- 解决kylin报错:Failed to create dictionary on <db>.<table>, Caused by: java.lang.IllegalArgumentException: Too high cardinality is not suitable for dictionary
报错信息: 2017-05-13 15:14:30,035 DEBUG [pool-9-thread-10] dict.DictionaryGenerator:94 : Dictionary clas ...
- jquery动态添加表单数据
动态添加用户 实现代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html ...
- Flask参数解析、请求钩子
转载请注明出处 https://www.cnblogs.com/chenxianpao/p/9949279.html 参数解析 Flask的参数解析主要用Request完成(from flask i ...
- [转]SSIS包的调用方式
本文转自:http://www.cnblogs.com/lijun4017/archive/2008/12/04/1347701.html 编写简单SSIS包光看MSDN应该就问题不大了,最近几天几个 ...
- mysql安装以后无法登陆的的解决方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost'))
mysql安装以后无法登陆的的解决方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost')) 解决步骤: [====> ...