网页中返回顶部代码(多种方法)另附注释说明 - Web前端
作者:98wpeu发布时间:2026-10-11分类:网页前端技术浏览:10
导读:下面就说下简单的返回顶部效果的代码实现,附注释说明。1.最简单的静态返回顶部,点击直接跳转页面顶部,常见于固定放置在页面底部返回顶部功能方法一:用命名锚点击返回到顶部预设的i...

下面就说下简单的返回顶部效果的代码实现,附注释说明。
1. 最简单的静态返回顶部,点击直接跳转页面顶部,常见于固定放置在页面底部返回顶部功能
方法一:用命名锚点击返回到顶部预设的id为top的元素
复制代码 代码如下:
<a href="#top" target="_self">返回顶部</a>
方法二:操作scrooll函数用来控制滚动条的位置(第一个参数是水平位置,第二个参数是垂直位置)
复制代码 代码如下:
<a href="javascript:scroll(0,0)">返回顶部</a>
缺点:返回效果是立即的,不符合一般浏览页面的滚动感觉;
静态固定于页面底部,用户不一定看得到。
2. 简单的静态返回顶部,用JS模拟滚动效果上滑至顶部
复制代码 代码如下:
function pageScroll(){
//把内容滚动指定的像素数(第一个参数是向右滚动的像素数,第二个参数是向下滚动的像素数)
window.scrollBy(0,-100);
//延时递归调用,模拟滚动向上效果
scrolldelay = setTimeout('pageScroll()',100);
//获取scrollTop值,声明了DTD的标准网页取document.documentElement.scrollTop,否则取document.body.scrollTop;因为二者只有一个会生效,另一个就恒为0,所以取和值可以得到网页的真正的scrollTop值
var sTop=document.documentElement.scrollTop+document.body.scrollTop;
//判断当页面到达顶部,取消延时代码(否则页面滚动到顶部会无法再向下正常浏览页面)
if(sTop==0) cleartimeout(scrolldelay);
}
复制代码 代码如下:
<a onclick="pageScroll()">返回顶部</a>
缺点:滚动效果不平滑,且在页面很长时点击返回顶部,未向上到达页面顶部无法再正常浏览页面;
同上依旧是静态固定于页面底部,不一定能曝光在用户面前。
3. 动态按需加载返回顶部,CSS侧边屏幕绝对定位,结合简单JQuery动画实现更好体验
复制代码 代码如下:
function gotoTop(min_height){
//预定义返回顶部的html代码,它的css样式默认为不显示
var gotoTop_HTML = '<div id="gotoTop">返回顶部</div>';
//将返回顶部的html代码插入页面上id为page的元素的末尾
$("#page").append(gotoTop_html);
$("#gotoTop").click(//定义返回顶部点击向上滚动的动画
function(){$('html,body').Animate({scrollTop:0},700);
}).hover(//为返回顶部增加鼠标进入的反馈效果,用添加删除css类实现
function(){$(this).addClass("hover");},
function(){$(this).removeclass("hover");
});
//获取页面的最小高度,无传入值则默认为600像素
min_height ? min_height = min_height : min_height = 600;
//为窗口的scroll事件绑定处理函数
$(window).scroll(function(){
//获取窗口的滚动条的垂直位置
var s = $(window).scrollTop();
//当窗口的滚动条的垂直位置大于页面的最小高度时,让返回顶部元素渐现,否则渐隐
if( s > min_height){
$("#gotoTop").fadeIn(100);
}else{
$("#gotoTop").fadeOut(200);
};
});
};
gotoTop();
css样式代码:
复制代码 代码如下:
/*默认样式,主要是position:fixed实现屏幕绝对定位*/
#gotoTop{display:none;position:fixed;top:75%;left:50%;cursor:pointer;margin-top:-50px;margin-left:520px;padding:9px 4px;width:20px;text-align:center;border:1px solid #e0e0e0;background:#fff;}
/*用CSS表达式(Expression)来实现IE6下position:fixed效果*/
#gotoTop{_position:absolute;_top:expression(documentElement.scrollTop + documentElement.clientHeight * 3/4 + "px")}
/*鼠标进入的反馈效果*/
#gotoTop.hover{background:#5CB542;color:#fff;text-decoration:none;}
这种方法判断页面高度按需将“返回顶部”展示给用户,用css样式实现了屏幕绝对定位,借助jQuery实现了更好用平滑的滚动效果。进一步考虑如果用户设置了浏览器禁用js,那么我们可以将第三方案结合第一方案方法一,禁用js后第三方案将不被用户所见,未禁用的话我们在js代码中再加上一句隐藏第一方案。
总之,长页面还是要尽量避免的,不可避免的情况下,加上“返回顶部”功能可能会带给用户相对好一点的体验。
相关推荐
- jQuery+ajax实现鼠标单击修改内容的思路 - Web前端
- jQuery性能优化28条建议你值得借鉴 - Web前端
- JQuery DataTable删除行后的页面更新利用Ajax解决 - Web前端
- 用jquery实现的一个超级简单的下拉菜单 - Web前端
- jQuery常见开发技巧详细整理 - Web前端
- jquery聚焦文本框与扩展文本框聚焦方法 - Web前端
- 使用jquery mobile做幻灯播放效果实现步骤 - Web前端
- jquery动态改变onclick属性导致失效的问题解决方法 - Web前端
- 使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体 - Web前端
- jquery插件制作 表单验证实现代码 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 9jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


