`
mutongwu
  • 浏览: 438933 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

js平滑滚动回到顶部

阅读更多
优先使用 requestAnimationFrame实现。
实验中发现,IE中的requestAnimationFrame 对象,在页面载入的时候,似乎是不可用的。 所以在 domContentLoaded事件以后再读取,才是安全的。
<script>
 //没有输出!
console.log(window.requestAnimationFrame || window.msRequestAnimationFrame );

window.onDomContentLoaded = function(){
        //这里就有了。
	console.log(window.requestAnimationFrame || window.msRequestAnimationFrame);	
}
</script>



function scrollUp(){
		
		//IE10+/Android Browser4.4+/
		var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame 
			|| window.webkitRequestAnimationFrame || window.msRequestAnimationFrame 
			|| function(clb){
				return setTimeout(clb,1000/60);
		    };

		var cancelAnimationFrame = window.cancelAnimationFrame || window.mozCancelAnimationFrame 
			|| window.webkitCancelAnimationFrame || window.msCancelAnimationFrame 
			|| function(id){clearTimeout(id);};

		//document.getElementById("imagePreview").scrollIntoView();
		//document.body.scrollTop = "0px";
		
		var top = document.body.scrollTop || document.documentElement.scrollTop;
		
		//滚动时长
		var duration = 300; //300ms
		
		//计算步长
		var step =  top / (duration / ( 1000 / 60)) >> 0; //取整
		
		//window.console && console.log(requestAnimationFrame);
		
		function fn(){

			if(top >= 0){
				top -= step;
				document.documentElement.scrollTop = document.body.scrollTop = top;
				fn.rafTimer = requestAnimationFrame(fn);
			}else{
				document.body.scrollTop = 0;
				cancelAnimationFrame(fn.rafTimer);
			}
		}
		fn.rafTimer = requestAnimationFrame(fn);
	}
分享到:
评论

相关推荐

    原生JS实现平滑回到顶部组件

    返回顶部组件是一种极其常见的网页功能,需求简单:页面滚动一定距离后,显示返回顶部的按钮,点击该按钮可以将滚动条滚回至页面开始的位置,接下来通过本文给大家介绍原生JS实现平滑回到顶部组件,需要的朋友参考...

    js滚动条回到顶部的代码

    虽然平滑性处理的不好,但非常适合学习 代码如下: &lt;!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”&gt; &lt;html lang=”en”&gt; &lt;head&gt; &lt;meta ...

    回到TOP,jQuery平滑滚动至网页顶部的插件

    内容索引:脚本资源,jQuery,回到顶部,jQuery滚动插件 回到网页TOP,jQuery平滑滚动至网页顶部的插件,拉动你的滚动条,注意右边哦~ 适合页面高度比较高的网页,方便用户回网页导航部分,推荐下载。当网页不是处于最...

    zenscroll:一个JavaScript模块,用于平滑滚动网页和其他可滚动元素

    一种JavaScript可以平滑滚动所有内容 平滑的动画滚动。 将元素移到视图中,或滚动到任何垂直位置。 1.4 KB的原始JavaScript。 没有依赖关系。 关于 Zenscroll是一个普通JavaScript库,可通过动画垂直滚动到文档中或...

    用原生js做个简单的滑动效果的回到顶部

    随着近几年来 JavaScript 的应用日渐广泛,滑动效果无处不在,于是我也跟跟风,将返回顶部功能做成了滑动效果。后来为了更贴合物理特征, 改造做成了减速的滑动效果。 首先说一下原理吧,我们会获取滚动条到页面顶部...

    gototop是一个实现返回顶部功能的jquery插件

    gototop是一款轻量级、简单易用的jquery返回顶部插件。该jquery返回顶部插件在用户向下滚动页面一段距离之后,会以CSS3动画方式出现返回顶部按钮。点击返回顶部按钮之后,页面以平滑的方式滚动回顶部。

    jQuery 漂浮右侧的Top回到顶部滑动块

    内容索引:脚本资源,jQuery,jQuery滑动代码,回到顶部 jQuery漂浮右侧的Top回到顶部滑动块,拉动网页的滚动条,它会自动回到原来的位置,点击它的话,网页会迅速平滑滚动到网页顶部,也就是刚打开网页的状态,在淘宝...

    jQuery滚动到顶部和底部的动态特效代码

    内容索引:脚本资源,jQuery,jQuery滚动插件,回到顶部 jQuery滚动到顶部和底部的动态特效代码,在页面底部的左侧有两个箭头,一个是向上,一个是向下,点击相应的箭头,会将页面往对应的方向平滑滚动,比如向上的话,...

    jquery返回顶部插件.zip

    代码简介:返回顶部插件jquery.gototop是一款当在用户向下滚动页面一段距离之后,会以CSS3动画方式出现返回顶部按钮。点击返回顶部按钮之后,页面以平滑的方式滚动回顶部。

    返回顶部插件jquery.gototop.zip

    返回顶部插件jquery.gototop是一款当在用户向下滚动页面一段距离之后,会以CSS3动画方式出现返回顶部按钮。点击返回顶部按钮之后,页面以平滑的方式滚动回顶部。

    CSS3动画返回顶部按钮代码.zip

    CSS3动画返回顶部按钮代码一款当在用户向下滚动页面一段距离之后,会以CSS3动画方式出现返回顶部按钮。点击返回顶部按钮之后,页面以平滑的方式滚动回顶部的返回顶部插件jquery.gototop。

    仿淘宝网缓冲回到顶部功能,使用jQuery平滑

    内容索引:脚本资源,jQuery,仿淘宝,jQuery滚动,回到顶部 仿淘宝网缓冲回到顶部功能,也就是用鼠标点击后不是一下子就回去了,而是像Flash一样慢慢让页面滚动回去,这里主要使用了jQuery进行动作平滑,效果相当不错,...

    jQuery-SmoothScroll:Smooth Scroll是一个jQuery实用程序,可提供动画书签,即时贴和页面顶部链接

    快速链接链接示例在内部排除在示例中排除胶印上衣偏移顶部示例书签回调页面顶部选项Page顶级课程页面顶部回调便签盒选项即时贴ID 粘盒图像网址粘盒阈值即时贴回呼便签盒设置粘盒上调整大小便签盒调整大小示例粘盒...

    react_portfolio_v1:投资组合网站

    投资组合网站这是我的投资组合网站。 它显示了我当前完成的项目。动机大学毕业并获得软件系统开发... -平滑滚动导航到项目,然后联系各个部分并导航回顶部。 -通过github链接到项目代码库,并通过实时站点进行演示。

    Roon-Elfin-zh:幽灵博客的主题

    增加页面平滑滚动效果 增加语法高亮显示 关于语法高亮: 装的是 highlight.js v8.4,默认我引用 tomorrow.css 样式,如有需要,可以到 default.hbs 里修改,样式文件在 assets/css/highlight 下 如果有喜欢的可以到...

    project_resume_basset_josh

    网址 ... 单击后,它会滚动回到页面顶部。 smoothScroll插件 该插件与导航一起使用。 当您单击导航中的链接时,它会平滑滚动到页面的该部分,而不是直接跳转到该部分。 浏览器同步使编码更加高效。

    vanilla-back-to-top:简单流畅的Back to Top按钮

    同样适用于 , , 以及在 , 和上没有框架的产品特点顶部隐藏单击时平滑向上滚动最新的类似的用户体验与兼容没有依赖关系或要求可与 , , 和其他框架配合,请参阅 与 , , 和其他网站一起在静态网站上运行效果...

Global site tag (gtag.js) - Google Analytics