第一次写博客,不太专业,废话不多说,直接上自己早上做的东东。有不足之处,希望指点。

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>

看DEMO戳我

js返回页面顶部的更多相关文章

  1. HTML5商城开发五 实现返回页面顶部

    本文内容主要是网上参考收集,介绍四种简单的返回页面顶部代码,可以使用简单的HTML锚标记,也可使用Javascript Scroll函数动态返回等等. 一.使用锚标记返回页面顶部 使用HTML锚标记最 ...

  2. 代码: 返回页面顶部 jquery

    jquery代码: 返回页面顶部 <script type="text/javascript" src="http://cdn.bootcss.com/jquery ...

  3. react-router(v4) 路由跳转后返回页面顶部问题

    遇到的问题 由A页面跳转到B页面,B页面停留在A页面的位置,没有返回到顶部. 问题分析 首先分析下出现此问题的原因: 在项目中使用的是 hashHistory,它是建立在 history 之上的,当路 ...

  4. js网页返回页面顶部的小方法

    咳咳,在网页出现滚动条的时候,许多网站会在右下角出现一个图标,点击可以回到页面顶部 本文就记录下js实现代码: 1.在html页面body添加dom元素 <img src="toTop ...

  5. 解决点击a标签返回页面顶部的问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. jquery实现返回页面顶部功能。

    <p id="back-to-top"> <span></span> </p> <script type="text ...

  7. (转)解决点击a标签返回页面顶部的问题

    本文转载至http://www.cnblogs.com/chenluomenggongzi/p/5950670.html 1 <!DOCTYPE html> 2 <html lang ...

  8. 解决点击空<a>标签返回页面顶部的问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. ASP.NET后台输出js大全,页面顶部、form表单中前面与后面、和UpdatePanel(ScriptManager、AJAX)输出JS

    Response.Write 与   Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptB ...

随机推荐

  1. Codeforces Round #343 (Div. 2) E. Famil Door and Roads lca 树形dp

    E. Famil Door and Roads 题目连接: http://www.codeforces.com/contest/629/problem/E Description Famil Door ...

  2. Codeforces Round #343 (Div. 2) A. Far Relative’s Birthday Cake 水题

    A. Far Relative's Birthday Cake 题目连接: http://www.codeforces.com/contest/629/problem/A Description Do ...

  3. 移动应用安全开发指南(Android)--数据传输

    概述 移动应用很多时候并非孤立存在,在多数场景下存在前.后台以及第三方服务之间进行数据交互,因此,在网络中传输敏感数据在所难免,如果不使用正确安全的传输方式,有可能存在敏感信息泄漏的风险. 安全准则 ...

  4. jquery缩写,显示隐藏

    $(".a").css("display")=="none" ?$(".a").css("display&qu ...

  5. C语言素数

    求1-10000之间的素数,并打印出来. 使用了sbrk和brk函数,采用直接操作内存的方式,尽量减少循环次数,每次进行素数判断仅与之前的素数进行相除.该代码并不健壮,仅作练习用. #include ...

  6. linux 调度总结(转载)

    调度: 操作系统的调度程序的两项任务: 1: 调度: 实现调度策略,决定就绪的进程.线程竞争cpu的次序的裁决原则.说白了就是进程和线程何时应该放弃cpu和选择那个就绪进程.线程来执行. 2: 分派: ...

  7. ThreadLocal的简单应用

    概括起来说,对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式.前者仅提供一份变量,让不同的线程排队访问,而后者为每一个线程都提供了一 ...

  8. Hadoop Maven pom文件示例

    Hadoop Maven pom文件示例 @(Hadoop) <?xml version="1.0" encoding="UTF-8"?> < ...

  9. swift基础语法之控件使用02

    //第一个控制器:显示基础控件 import UIKit class ViewController: UIViewController { var label: UILabel = UILabel() ...

  10. php输出语句echo、print、print_r、printf、sprintf、var_dump比较

    一.echo    echo() 实际上不是一个函数,是php语句,因此您无需对其使用括号.不过,如果您希望向 echo() 传递一个以上的参数,那么使用括号会发生解析错误.而且echo是返回void ...