下面就说下简单的返回顶部效果的代码实现,附注释说明,最简单的静态返回顶部,点击直接跳转页面顶部及用js模拟滚动效果上滑至顶部

下面就说下简单的返回顶部效果的代码实现,附注释说明。
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 οnclick="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();

/*默认样式,主要是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代码中再加上一句隐藏第一方案。

总之,长页面还是要尽量避免的,不可避免的情况下,加上“返回顶部”功能可能会带给用户相对好一点的体验。

网页中返回顶部代码(多种方法)另附注释说明相关推荐

  1. 返回顶部php代码,网页中返回顶部代码(多种方法)另附注释说明_jquery

    下面就说下简单的返回顶部效果的代码实现,附注释说明. 1. 最简单的静态返回顶部,点击直接跳转页面顶部,常见于固定放置在页面底部返回顶部功能 方法一:用命名锚点击返回到顶部预设的id为top的元素 f ...

  2. jquery返回顶部特效代码 网页滚动返回顶部特效

    网页悬浮返回顶部图标可以说是一项非常常见切比较实用的功能,可以使用HTML来实现,但是返回顶部效果太过僵硬,体验不好,这里分享一个纯js返回顶部切具有过渡效果的实例. 效果如上图所示. 具体代码如下: ...

  3. 教你网站怎么添加返回顶部代码?

    网站添加返回顶部有好几种,下面我简单介绍下: 1 使用文字添加方法最简单的是:最简单的"返回顶部"代码就是"<a href="javascript:scr ...

  4. html页面刷新回到顶部_HTMl页面中返回顶部的几种实现小结

    这篇文章我们来讲一下在网站建设中,HTMl页面中返回顶部的几种实现小结.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 最近在开发网站需要制作返回顶部按钮,但是我主要为后端开 ...

  5. html没有内容怎么爬,Url没有在网页中返回正确的html(对于我的Java爬虫)

    我想从网页上下载一些图像,为此我正在编写爬网程序.我测试了这个页面的几个抓取工具,但没有工作,因为我想.Url没有在网页中返回正确的html(对于我的Java爬虫) 第一步,我收集了770+相机型号( ...

  6. jQuery火箭图标返回顶部代码

    在网上找来段使用jQuery火箭图标返回顶部代码,感觉比较酷,比较炫,大概样式如下, 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  7. python返回json数据_python和flask中返回JSON数据的方法

    在python中可以使用json将数据格式化为JSON格式: 1.将字典转换成JSON数据格式: s=['张三','年龄','姓名'] t={} t['data']=s return json.dum ...

  8. 一次性提取网页中所有图片的代码

    一次性提取网页中所有图片的代码 打开有图片的网页,在地址栏中输入: javascript:Ai7Mg6P='';for%20(i7M1bQz=0;i7M1bQz<document.images. ...

  9. Axure中移动端原型设计方法(附IPhoneX和IPhone8最新模板)

    Axure中移动端原型设计方法(附IPhoneX和IPhone8最新模板) 2018年4月16日luodonggan Axure中基于设备模板的移动端原型设计方法(附IPhoneX和IPhone8最新 ...

最新文章

  1. 解决apache配置问题小结
  2. PAT甲级1088 Rational Arithmetic:[C++题解]分数的加减乘除
  3. Visual Studio 中Debug模式和Release模式的区别
  4. ------shell学习
  5. rto净化效率计算公式_你了解废气处理设备RTO蓄热式热氧化炉的工作原理么?
  6. oracle中synonym是什么,请问一下在racle里synonym的作用是什么?
  7. 新编计算机应用基础项目教程电子书,计算机应用基础新编教程-殷锋社.pdf
  8. 2021-07-05 倒置链表(Cpp/C)
  9. Java 图形化界面 实现ASCII码的转换和查看
  10. 计算机操作视频及运用方式,电脑上可以使用什么方法来编辑、制作视频?
  11. radiogroup只走一次监听事件_如果一生只去一次内蒙,那走这条路线就够了!
  12. hibernate防止sql注入(转载)
  13. SCVMM2012R2 服务模版系列(一)包含SQL实例的单层服务模版
  14. 网上阅卷系统服务器,网上阅卷系统是什么?
  15. JAVA初学者推荐《Java开发实战经典》李兴华著
  16. 辐射避难所ol服务器维护,《辐射:避难所Online》1月16日停服维护公告
  17. 阿里巴巴的店铺有何运营技巧
  18. 域名备案或不备案有什么区别?备案一般要多久。
  19. 北邮校长方滨兴将离职 临别奉送学生“六好”锦囊
  20. 钽电容和铝电解电容的区别

热门文章

  1. Software Testing Homework03:
  2. UVALive 4035 - Undetectable Tour(并查集)
  3. 网页上的静止导航脚本
  4. android中颜色参考
  5. DELPHI listbox去除重复项
  6. visual studio 2005,visual studio 2008调出即时窗口
  7. ubuntu18安装nginx没有生成各类目录文件问题解决
  8. PHP 安全问题入门:10 个常见安全问题 + 实例讲解
  9. 阿里云PyODPS 0.7.18发布,针对聚合函数进行优化同时新增对Python 3.7支持
  10. mysql 多实例应用配置部署指南