js实现回到顶部功能
js实现回到顶部功能
一、总结
一句话总结:
可以通过js或者jquery可以很快的控制页面的属性,比如高度等等
//设置当前视口的顶端数值
var setScrollTop = function(top){ if (document.compatMode == "BackCompat")
{
document.body.scrollTop = top;
}
else
{
if(document.documentElement.scrollTop == 0){
document.body.scrollTop = top;
}else{
document.documentElement.scrollTop = top;
}
}
}
二、【JavaScript Demo】回到顶部功能实现
转自或参考:【JavaScript Demo】回到顶部功能实现
https://www.cnblogs.com/yc-755909659/p/5988005.html
随着网站的不断发展,需要展示的内容也越来越丰富,这导致网页上能展示的内容越来越多。当内容堆积影响了用户体验,就需考虑如何提升用户体验。在这一系列的改动中,“回到顶部”的功能成为了一个经典。
1.页面布局
(1) 我们先简单的搭建一个长度为1200px的页面,保证视口的高度足够。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta content="width=device-width,user-scalable=no" name="viewport" />
<title>Back to top</title>
<style type="text/css">
#content { height: 1200px;}
.text_center { text-align: center;}
</style>
</head>
<body>
<div id="content">
<div class="text_center">往下拉哟</div><br />
<div class="text_center">↓</div><br />
<div class="text_center">↓</div><br />
<div class="text_center">↓</div><br />
<div class="text_center">↓</div><br />
<div class="text_center">↓</div>
</div>
</body>
</html>
(2) 然后我们准备一张图片作为返回顶部的按钮:

(3) 接着,我们把按钮放到网页上去:
HTML代码:
<body>
...
<a id="btnTop" class="btnTop" href="javascript:;" title="Back to top">
<img src="img/o_to_Top.png" class="imageTop">
</a>
</body>
CSS代码:
.btnTop { position: fixed; right: 2%; bottom: 2%; cursor: pointer; opacity: .7; z-index:; }
.btnTop:hover { opacity:;}
.imageTop { height: 72px; height: 72px;}
现在的显示效果:

2.添加JS实现效果
原理:通过控制当前视口顶端的数值来实现
效果:返回顶部按钮默认不显示,当向下滑动到一定距离时显示。点击按钮后,当前页面由快到慢地返回页面顶部。
实现:
我们先让返回页面按钮默认不显示:
<a id="btnTop" style="display:none;" ...
然后,我们新建JavaScript文件并引用,具体功能实现代码如下,应该备注的比较详细:
window.onload = function(){
var btnTop = document.getElementById("btnTop");
var timer = null;
window.onscroll = function(){
var backTop = getScrollTop();
if(backTop >= 20){ //当前视口顶端大于等于20时,显示返回顶部的按钮
btnTop.style.display = "block";
}else {
btnTop.style.display = "none";
}
};
btnTop.onclick = function(){
//定时执行
timer = setInterval(function(){
var backTop = getScrollTop();
var speedTop = backTop / 10;
//修改当前视口的数值,产生向上活动的效果
setScrollTop(backTop - speedTop);
if(backTop == 0){
//结束函数执行
clearInterval(timer);
}
},30);
};
//获取当前视口的顶端数值
var getScrollTop = function(){
var sTop ;
if (document.compatMode == "BackCompat")
{
sTop = document.body.scrollTop;
}
else
{
//document.compatMode == \"CSS1Compat\"
sTop = document.documentElement.scrollTop == 0 ? document.body.scrollTop : document.documentElement.scrollTop;
}
return sTop;
};
//设置当前视口的顶端数值
var setScrollTop = function(top){
if (document.compatMode == "BackCompat")
{
document.body.scrollTop = top;
}
else
{
if(document.documentElement.scrollTop == 0){
document.body.scrollTop = top;
}else{
document.documentElement.scrollTop = top;
}
}
}
};
现在的效果如下:

js实现回到顶部功能的更多相关文章
- 通过js实现回到顶部功能
许多商城网址,当我们滚动到一定高度时,我们会发现一般会出现一个回到顶部的js选项,点击轻松实现回到顶部,交互效果会显得比较人性化,且回到顶部过程中若在滚动滚动条时可以停止滚动,现在让我们来实现吧 我总 ...
- JS实现回到顶部效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js原生回到顶部
<!DOCTYPE html><html><head> <meta content="测试demo" name="Keyword ...
- 页面滚动事件和利用JS实现回到顶部效果
页面滚动 事件:window.onscroll, 获得页面滚动位置:document.body.scrollTop: HTML代码: 这里注意此处逻辑,大于500就显示,否则就隐藏,还有注意如果变量名 ...
- jQuerry点击按钮回到顶部功能
简单实现点击按钮回到顶部功能
- 【JavaScript Demo】回到顶部功能实现
随着网站的不断发展,需要展示的内容也越来越丰富,这导致网页上能展示的内容越来越多.当内容堆积影响了用户体验,就需考虑如何提升用户体验.在这一系列的改动中,“回到顶部”的功能成为了一个经典. 1.页面布 ...
- jquery javascript 回到顶部功能
今天搞了一个回到顶部的JS JQ功能 (function($){ $.fn.survey=function(options){ var defaults={width:"298", ...
- js实现返回顶部功能的解决方案
很多网站上都有返回顶部的效果,主要有如下几种解决方案. 1.纯js,无动画版本 window.scrollTo(x-coord, y-coord); window.scrollTo(0,0); 2.纯 ...
- js——页面回到顶部
很久都没有去慕课网学习学习了,刚恰好就看见了一个用的比较多的小例子——页面回到顶部,记得之前自己也是在初学web时,被这个坑了一回,因此今天特地拿来分享分享…… <!DOCTYPE html&g ...
随机推荐
- mydql 函数和存储过程
存储过程 CREATE PROCEDURE getUid (IN phone CHAR(11), OUT uid INT ) READS SQL DATA BEGIN select u.id from ...
- Windows下解决系统端口被VM虚拟机占用问题
一)问题背景 安装VM虚拟机后,经常会遇到启动其他程序时出现端口被占用的情况,其中以80端口被占用最为常见. 二)解决思路 解除或更改被占用端口号,但是更改端口号时,除非对系统的端口占用情况非常熟悉, ...
- Spring7大模块
Spring 框架是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式,组成 Spring 框架的每个模块(或组件)都可 ...
- [LeetCode] 39. Combination Sum ☆☆☆(数组相加等于指定的数)
https://leetcode.wang/leetCode-39-Combination-Sum.html 描述 Given a set of candidate numbers (candidat ...
- Ajax返回数据却一直进入error(已经解决)
做asp.net项目 使用ajax $.ajax({ url: '../Music/Default2.aspx?Types=' + type + '&texts=' + text + '', ...
- Django_04_视图
视图 后台管理页面做好了,接下来就要做公共访问的页面了 对于django的设计框架MVT,用户在URL中请求的是视图,视图接收请求后进行处理,并将处理的结果返回给请求者 使用视图时需要进行两步操作 1 ...
- [SDOI2008]山贼集团
题目描述 某山贼集团在绿荫村拥有强大的势力,整个绿荫村由\(N\)个连通的小村落组成,并且保证对于每两个小村落有且仅有一条简单路径相连. 小村落用阿拉伯数字编号为\(1,2,3,4, \dots ,n ...
- TF_Variable Sharing
Reference: http://jermmy.xyz/2017/08/25/2017-8-25-learn-tensorflow-shared-variables/ Tensorflow does ...
- Python的安装和配置(windowns 双版本)
1.去官网上下载python,注意版本. 官网地址:https://www.python.org/downloads/windows 2.下载安装版或者zip包都可以.安装就按向导一步一步完成即可.z ...
- jQuery基础 (一)—样式篇
jQuery的优势 jQuery有很多特性和工具方法