原生态js回顶部
<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<title>Document</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
} .public_gotop {
background-color: #858585;
position: fixed;
right: 2rem;
bottom: 6rem;
width: 3rem;
height: 3rem;
border-radius: 50%;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABN0lEQVRYhe3Uuy4FURjFcZEjiMu76FwLiWuLhJJ4FU+gFwqNa1SuHQmtzhNoJRxB3H4Kc+LLGJdzDI1Z3cxe3/qvvfdk6uoKFSpUqEahFetYRtNfw9tx4k2HaPkreBuOvdcBmn8b3pyAKrrCTXjeQsNvwVtxFGAX6EAPyuH9bu7fRMbOL9EZ1ntTJbbRmBe8CfupY+/K8A2krmPzx9eRwPdS8O5P/IO4Df4NlGqFN2InhJXR+425oVSJtapLJPDtEHKNvirmR3AX5le+XQINydFVdIOBqnbwmjOaKrGE+q+GSl5/rxXdYqhaeMgbw33IW/ywRAJfTcGHa4WH3HE8hNyFzBKYD6YHTPwUHrKn8RTy57JM58niIybzgof8WTwnjLMsQz9OMZU3PDBmEkbn1+5ChQr9F70Ae6lHrD/JbEkAAAAASUVORK5CYII=);
background-repeat: no-repeat;
background-position: center;
background-size: 60%;
display: none;
}
</style>
</head> <body>
<div style="height: 500px; background: #E1A0F3"></div>
<div style="height: 500px; background: #CE77B5"></div>
<div class="public_gotop" id="gotop"></div>
<script type="text/javascript">
window.onload = function() {
// 返回顶部
var goTopEx = function() {
var gtObj = document.getElementById("gotop"); function getScrollTop() {
return document.documentElement.scrollTop || document.body.scrollTop;
} function setScrollTop(value) {
document.documentElement.scrollTop = value;
document.body.scrollTop = value;
}
window.onscroll = function() {
getScrollTop() > 80 ? gtObj.style.display = "block" : gtObj.style.display = "none";
}
gtObj.onclick = function() {
var goTop = setInterval(scrollMove, 10); function scrollMove() {
setScrollTop(getScrollTop() / 1.1);
if (getScrollTop() < 1) clearInterval(goTop);
}
}
}()
}
</script>
</body> </html>
效果如图:

备注解释:
function goTopEx() { //函数名goToEx
var obj = document.getElementById("goTopBtn"); //获取id为goTopBtn的元素
function getScrollTop() { //函数名为getScrollTop
return document.documentElement.scrollTop; //返回document.documentElement(html)的滚动条的高度
}
function setScrollTop(value) { //函数名为setScrollTop,形参为value
document.documentElement.scrollTop = value; //设置document.documentElement(html)的滚动条的高度为value
}
window.onscroll = function() { getScrollTop() > 0 ? obj.style.display = "" : obj.style.display = "none"; }; //当移动鼠标的时候,如果document.documentElement(html)的滚动条的高度>0,则obj显示,否则隐藏掉
obj.onclick = function() { //点击obj
var goTop = setInterval(scrollMove, 10); //每隔10毫秒发生scroolMove方法
function scrollMove() { //函数名为scrollMove
setScrollTop(getScrollTop() / 1.1); //设置document.documentElement(html)的滚动条的高度为getScrollTop()/1.1
if (getScrollTop() < 1) clearInterval(goTop); //如果得到document.documentElement(html)的滚动条的高度<1,则清除掉scroolMove方法
}
};
}
原生态js回顶部的更多相关文章
- js回网页顶部
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- JavaScript--返回顶部方法:锚链接、行内式js写法、外链式、内嵌式
返回网页顶部方法 一.锚链接 simpleDemo: <!DOCTYPE html> <html lang="en"> <head> <m ...
- js返回顶部封装 简洁
js返回顶部封装 简洁: 加入html页面body最后面即可. <script> a(); function a() { $(function() { if ($(".j-to- ...
- 详解原生JS回到顶部
第一次知道可以用超链接(锚点)实现回到顶部的时候我是很震惊的,想着原来可以这么简单啊!但是作为一个正在学习JS的小白,不能就这么轻易止步,所以查资料自己整了一个JS返回顶部. HTML代码: ? 1 ...
- 本站页脚HTML回顶部代码
<style type="text/css">.top { width: 50px; height: 50px; background-color: #F0F0F0; ...
- 原生态js,返回至顶部
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js返回顶部效果
当用户浏览的网页过于长的时候,用户在浏览到网页底部想要在返回顶部需要滚动好几次滚轮才能返回顶部,不仅麻烦,而且用户体验也会很差.现在的大多是页面都会在页面顶部或者是页面的可见区域的某一位置固定一个按钮 ...
- css+js回到顶部
.backToTop { display: none; width: 18px; line-height: 1.2; padding: 5px 0; background-color: #000; c ...
- JS网页顶部弹出可关闭广告图层
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- 超强敏感词过滤算法第二版 可以忽略大小写、全半角、简繁体、特殊符号、HTML标签干扰
上一篇 发一个高性能的敏感词过滤算法 可以忽略大小写.全半角.简繁体.特殊符号干扰 改进主要有几点: 用BitArray取代Dictionary用空间换时间 性能进一步提升 大概会增加词库的 6k* ...
- Dev的双击Gridview的DoubleClick
注意: 是GridView的Double而不是GridControlprivate void gridView1_DoubleClick(object sender, EventArgs e){ ...
- 【UVA1515 算法竞赛入门指南】 水塘【最小割】
题意: 输入一个h行w列的字符矩阵,草地用“#”表示,洞用"."表示.你可以把草改成洞,每格花费为d,也可以把洞填上草,每格花费为f.最后还需要在草和洞之间修围栏,每条边花费为b. ...
- SpringBoot28 RabbitMQ知识点、Docker下载RabbitMQ、SpringBoot整合RabbtiMQ
1 RabbitMQ知识点 1.1 整体架构图 消息生产者将消息投递到exchange中,exchange会以某种路由机制将生产者投递的消息路由到queue中,消息消费者再从queue中获取消息进行消 ...
- 91. Decode Ways反编译字符串
[抄题]: A message containing letters from A-Z is being encoded to numbers using the following mapping: ...
- DevCloud for CloudStack Development
Apache CloudStack development is not an easy task, for the simplest of deployments one requires a se ...
- Flask框架 之 第三方组件
浏览目录 flask-session flask-sqlalchemy flask-script flask-migrate flask-session 安装 pip3 install flask-s ...
- Idea2017常用功能
1,添加java工程 2,导出可执行jar 3,本地代码提交svn新分支 4,乱码问题解决 一次解决所有问题,只需做配置文件的修改即可 解决方案: 在 IntelliJ IDEA 201 ...
- Dubbo服务启动依赖检查
dubbo 官方文档地址:http://dubbo.io/User+Guide-zh.htm 项目中存在服务之间存在循环依赖,启动时总是报错,通过修改启动检查check=false解决,下面是dubb ...
- HDU 4756 Install Air Conditioning (MST+树形DP)
题意:n-1个宿舍,1个供电站,n个位置每两个位置都有边相连,其中有一条边不能连,求n个位置连通的最小花费的最大值. 析:因为要连通,还要权值最小,所以就是MST了,然后就是改变一条边,然后去找出改变 ...