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 ...
随机推荐
- javascript实现原生ajax
自从javascript有了各种框架之后,比如jquery,使用ajax已经变的相当简单了.但有时候为了追求简洁,可能项目中不需要加载jquery这种庞大的js插件.但又要使用到ajax这种功能该如何 ...
- file结构体中private_data指针的疑惑
转:http://www.360doc.com/content/12/0506/19/1299815_209093142.shtml hi all and barry, 最近在学习字符设备驱动,不太明 ...
- css/js(工作中遇到的问题)-6
页面resize方法 if(document.createEvent) { const event = document.createEvent ("HTMLEvents"); e ...
- countdownlatch用法
public void await() throws InterruptedException { }; //调用await()方法的线程会被挂起,它会等待直到count值为0才继续执行 publ ...
- 解决Eclipse建立Maven项目后无src/main/java资源文件夹的办法
建立好一个Maven项目后,如果Java Resources资源文件下没有src/main/java文件夹,并且在手动创建这个文件时提示“已存在文件”.这说明,在这个项目配置中已经有了src/main ...
- 十二.spring-boot使用spring-boot-freemarker
①.在springMVC中:它代表着view层组件 ②.为什么使用freemarker:简单容易学.逻辑分明 ③.freemarker优点:它不依赖servlet.网络或者web环境 一.创建一个ma ...
- java数据库编程——读写LOB、可滚动和可更新的结果集、元数据
java 数据库编程 1. 读写LOB 除了数字.字符串和日期之外,许多数据库还可以存储大对象,例如图片或其它数据.在SQL中,二进制大对象称为BLOB,字符型大对象称为CLOB. 要读取LOB,需要 ...
- Spark Shuffle 堆外内存溢出问题与解决(Shuffle通信原理)
Spark Shuffle 堆外内存溢出问题与解决(Shuffle通信原理) http://xiguada.org/spark-shuffle-direct-buffer-oom/ 问题描述 Spar ...
- SQL Server 2008数据库备份与恢复
在这所要说的是“分离/附加”数据库: 1.分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被SQL Server管理和使用,但该数据库的文件(.M ...
- scala之Actors
这多半是因为actor是共享线程,所以阻塞线程会导致其他线程获取不到线程.