最近做了一个排行榜页面,分类较多,并且以图文形式展示......最后页面明显过长了,用户体验自然不够好。最后想着在页面上部增加了页面内跳转导航,直接导航到本页的分类命名锚块。当然这就需要结合“返回顶部”功能来取得更好的体验了。当然一般情况下首先还是要避免页面过长,内容薄弱关联性不够的跳出率会很高。

下面就说下简单的返回顶部效果的代码实现,附注释说明。

1. 最简单的静态返回顶部,点击直接跳转页面顶部,常见于固定放置在页面底部返回顶部功能

方法一:用命名锚点击返回到顶部预设的id为top的元素

<a href="#top" target="_self">返回顶部</a>

方法二:操作scrooll函数用来控制滚动条的位置(第一个参数是水平位置,第二个参数是垂直位置)

<a href="javascript:scroll(0,0)">返回顶部</a>

缺点:返回效果是立即的,不符合一般浏览页面的滚动感觉;

静态固定于页面底部,用户不一定看得到。

2. 简单的静态返回顶部,用js模拟滚动效果上滑至顶部

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动画实现更好体验

js代码
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代码中再加上一句隐藏第一方案。

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

文字转自:http://www.cnblogs.com/mind/archive/2012/03/23/2411939.html

简单返回顶部代码及注释说明(转)相关推荐

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

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

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

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

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

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

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

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

  5. 隐藏html5回到顶部,用jQuery实现的智能隐藏、滑动效果的返回顶部代码

    在线DEMO:传送门 HTML代码(放在页面任意位置,并用CSS美化): 回到顶部 JS代码: $(document).ready(function() { //首先将#back-to-top隐藏 $ ...

  6. java 扫雷注释_swing 扫雷简单版实现代码-附注释

    直接先上效果图 1.核心算法将扫雷看成是一个二维数组,每个格子分别用一个x,y来标识.如下图: 2.定义雷:我们需要生产10组随机(如0,4)这样的数据来表示一个雷. 3.当我们点击一个按钮时,拿到按 ...

  7. JQ返回顶部代码分享~~~~

    1.jq代码: <script type="text/javascript">$(function() {$("#tbox").click(scro ...

  8. 返回顶部酷炫小火箭发射代码

    很酷炫哦,直接粘贴即可 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...

  9. php中页面平滑回到顶部代码,原生JS实现平滑回到顶部组件_javascript技巧

    返回顶部组件是一种极其常见的网页功能,需求简单:页面滚动一定距离后,显示返回顶部的按钮,点击该按钮可以将滚动条滚回至页面开始的位置. 实现思路也很容易,只要改变document.documentEle ...

最新文章

  1. 四川计算机职业技术学院,四川职业技术学院
  2. Spring IOC 容器源码分析 - 循环依赖的解决办法
  3. Android version and Linux Kernel version
  4. Matlab之logspace
  5. failed to initialize nvml driver/library version mismatch ubuntu
  6. Android访问瓦片地图 费流量,瓦片地图服务在线资源访问总结
  7. HDU 4115 Eliminate the Conflict(2-sat)
  8. 为XHR对象所有方法和属性提供钩子 全局拦截AJAX
  9. Yii在控制层中引入模版进行渲染的几种方式。
  10. 媒体在计算机科学中的两种含义,多媒体技术应用思考与练习题.doc
  11. Google Play镜像站
  12. android运行ios应用程序,Cider让你在安卓手机上运行iOS应用
  13. excel 永久保存宏命令
  14. LC.1056. Confusing Number, LC.246. Strobogrammatic Number
  15. 关于我本人阳了个阳一事
  16. 微信小程序中图片高度被压扁的解决办法
  17. android笔记 看过stormzhang大大的博客(关于像素,屏幕密度)
  18. python 沪江_Python基础篇 -- 字符串
  19. 将字符串转换为日期,将日期转换成指定格式的字符串
  20. 【拦截器】和【过滤器】

热门文章

  1. 敬伟PS教程【A01-A10】
  2. fl studio怎么设置中文?如何切换flstudio21中文语言详细操作教程
  3. 【嵌入式操作系统】实验2:GPIO编程及应用
  4. 冬奥会区块链亮点:数字雪花、冰墩墩NFT
  5. 网友怒赞:都是best....,何恺明编年史绝了
  6. 微信小程序 app=getApp()公共变量在页面间传值技巧。
  7. LTspice仿真学习2-二极管/三极管MOS管
  8. 优启通 v3.6.2021.0606 官方21年6月版
  9. 神一样存在的他,全面协助你度过AI时代难关,吊打同行!
  10. 【观察】华为云“四个现代化”,加速企业实现应用转型与升级