返回顶部组件是一种极其常见的网页功能,需求简单:页面滚动一定距离后,显示返回顶部的按钮,点击该按钮可以将滚动条滚回至页面开始的位置。
实现思路也很容易,只要改变document.documentElement.scrollTop或document.body.scrollTop的值即可。
本文抛弃所有加速减速的酷炫效果,回归软件的本质,提供一个最简洁的实现,只追求实用性,不追求所谓的用户体验,效果如下
由于思路跟代码都很简单,所以就直接贴出实现细节了:
var BackTop = function (domE,distance) { if (!domE) return; var _onscroll = window.onscroll, _onclick = domE.onclick; window.onscroll = throttle(function(){ typeof _onscroll === 'function' && _onscroll.apply(this, arguments); toggleDomE(); },100); domE.onclick = function(){ typeof _onclick === 'function' && _onclick.apply(this, arguments); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; }; function toggleDomE(){ domE.style.display = (document.documentElement.scrollTop || document.body.scrollTop) > (distance || 500) ? 'block' : 'none'; } function throttle(func, wait) { var timer = null; return function () { var self = this, args = arguments; if (timer) clearTimeout(timer); timer = setTimeout(function () { return typeof func === 'function' && func.apply(self, args); }, wait); } } };
调用方式:
<script> new BackTop(document.getElementById('backTop')) </script>
之所以写这篇博客,弄这么个简单的东西,有两个方面的原因:
1)这段时间一直在手写一些常见的简单组件,这算是一个简单中更简单的一个,为了让这系列的博客更加完整,所以把这个组件补充了进来;
2)我想表达自己在工作过程中的一个观点:就是不要过渡用用户体验来装饰你的软件或者说产品,用户体验这个东西说白了就是两个词,一个是好印象,第二个就是好玩,但这并不是产品开发运营的最终目的,你把东西做的再漂亮,产品的核心价值和服务做的不够的话,就算把返回顶部这种功能做成超级无敌的火箭也是徒劳无功的。做前端开发,得锻炼点控制产品经理瞎提用户体验功能的度,以这个组件来说,我认为做加速或减速效果都是多余的,既增加开发时间,又耽误用户使用的时间,抛弃自己心中那点对技术玩弄的固执,可以让自己的工作做的更加完美。
下面给大家分享几种常用网页返回顶部代码
一、使用HTML的锚标记最简单了
但是唯一的缺点就是样式不怎么样,会显示这个锚标记。
<aname="top"id="top"></a>
放置位置在<body>标签之后随便找个地方放都可以,只要靠近顶部即可。
页面底部放置:
<ahref="#top"target="_self">返回顶部</a>
二、使用Javascript Scroll函数返回顶部
scrooll函数用来控制滚动条的位置,有两种很简单的实现方式:
方式1(推荐:简单方便):
<ahref="javascript:scroll(0,0)">返回顶部</a>
scroll第一个参数是水平位置,第二个参数是垂直位置,比如要想定位在垂直50像素处,改成scroll(0,50)就可以了。
方式2(注重效果:缓慢向上):
本方式是渐进式返回顶部,要好看一些,代码如下:
functionpageScroll() {window.scrollBy(0,-10);scrolldelay=setTimeout('pageScroll()',100);}<ahref="pageScroll();">返回顶部</a>
这样就会动态返回顶部,不过虽然返回到顶部但是代码仍在运行,还需要在pageScroll函数加一句给停止掉。
if(document.documentElement.scrollTop==0)clearTimeout(scrolldelay);
三、使用Onload加上scroll功能实现动态返回顶部
首先在网页body标签结束之前加上:
<divid="gotop">返回顶部</div>
2、再调用以下JS脚本部分:
BackTop=function(btnId){varbtn=document.getElementById(btnId);vard=document.documentElement;window.onscroll=set;btn.onclick=function(){btn.style.display="none";window.onscroll=null;this.timer=setInterval(function(){d.scrollTop-=Math.ceil(d.scrollTop*0.1);if(d.scrollTop==0)clearInterval(btn.timer,window.onscroll=set);},10);};functionset(){btn.style.display=d.scrollTop?'block':"none"}};BackTop('gotop');
这些可以放到网页中中,也可以独立存成一个js文件,比如gotop.js,再通过以下形式:
<scriptsrc="/js/gotop.js"type=text/javascript></script>
来调用,当然了位置最好放在“返回顶部”标签的下面,该调用方法已假设文件路径为JS,放在其它位置请根据实际修改。
本文向大家介绍用原生js做个简单的滑动效果的回到顶部,包括了用原生js做个简单的滑动效果的回到顶部的使用技巧和注意事项,需要的朋友参考一下 很多网页在下方都会放置一个“返回顶部”按钮,尤其是页面底部没有导航的网页,这样可以帮助访客重新找到导航或者重温一遍广告(想得真美)。随着近几年来 JavaScript 的应用日渐广泛,滑动效果无处不在,于是我也跟跟风,将返回顶部功能做成了滑动效果。后来为了更贴
本文向大家介绍js+css实现回到顶部按钮(back to top),包括了js+css实现回到顶部按钮(back to top)的使用技巧和注意事项,需要的朋友参考一下 本文实例介绍了js+css实现回到顶部按钮的方法,分享给大家供大家参考,具体内容如下 效果 html css js 以上就是本文的全部内容,希望对大家的学习有所帮助。
本文向大家介绍jQuery实现回到顶部效果,包括了jQuery实现回到顶部效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jQuery实现回到顶部效果的具体代码,供大家参考,具体内容如下 动画:通过点击侧栏导航,页面到达相应的位置 jQuery方法:show(), hide(), animate() 动画效果: 代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家
点击回到页面顶部。 标题 内容 类型 通用 支持布局 N/S 所需脚本 https://c.mipcdn.com/static/v2/mip-gototop/mip-gototop.js 示例 基本使用 默认为滚动 200px 的高度显示按钮 <mip-fixed type="gototop"> <mip-gototop></mip-gototop> </mip-fixed>查看例子 编辑示例
我有一个按钮,当点击应该平滑地滚动到顶部。平稳过渡并不奏效。现场网站。-->http://acetronaut.com 这里还有一个代码页。不管用。https://codepen.io/anon/pen/lbpwrv HTML: CSS: jQuery:
本文向大家介绍jquery实现点击页面回到顶部,包括了jquery实现点击页面回到顶部的使用技巧和注意事项,需要的朋友参考一下 a)下面看看实现,实现很简单,通过JQ判断滚动条向下滚动的长度大于多少时显示【回到顶部+回到首页】的图标(换一种理解:滚动条顶端距离页面顶部的距离),另外一种实现方法,就是通过锚标记,很好理解,就是标记一个位置,事件激活时,给我回到这个位置 b)JQ判断滚动条向下滚动的长