纯javascript 回到 顶部 实例
很多网站都会采用瀑布式的加载模式,像qq空间加载好友动态,为了用户体验更好,很多网站会加上回到顶部的连接,但大多数网站都是一下子就回到了顶部,当然,这样有这样的好处,但是我是个比较喜欢很炫的东西的人,所以就比较喜欢滑动滚到顶上。直接上代码吧。
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 5 <title>Insert title here</title> 6 <script type="text/javascript"> 7 function goTop(acceleration, time) { 8 acceleration = acceleration || 0.1; 9 time = time || 16; 10 11 var x1 = 0; 12 var y1 = 0; 13 var x2 = 0; 14 var y2 = 0; 15 var x3 = 0; 16 var y3 = 0; 17 18 if (document.documentElement) { 19 x1 = document.documentElement.scrollLeft || 0; 20 y1 = document.documentElement.scrollTop || 0; 21 } 22 if (document.body) { 23 x2 = document.body.scrollLeft || 0; 24 y2 = document.body.scrollTop || 0; 25 } 26 var x3 = window.scrollX || 0; 27 var y3 = window.scrollY || 0; 28 29 30 31 32 33 // 滚动条到页面顶部的水平距离 34 var x = Math.max(x1, Math.max(x2, x3)); 35 // 滚动条到页面顶部的垂直距离 36 var y = Math.max(y1, Math.max(y2, y3)); 37 38 // 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小 39 var speed = 1 + acceleration; 40 window.scrollTo(Math.floor(x / speed), Math.floor(y / speed)); 41 42 // 如果距离不为零, 继续调用迭代本函数 43 if(x > 0 || y > 0) { 44 var invokeFunction = "goTop(" + acceleration + ", " + time + ")"; 45 window.setTimeout(invokeFunction, time); 46 } 47 } 48 </script> 49 </head> 50 <body> 51 1adfsssssssssssssssssssssssssssssssssssssssssssssssssss<br /> 52 1<br /> 53 1<br />1<br /> 54 1<br />1<br />1<br />1<br /> 55 1<br />1<br />1<br />1<br /> 56 1<br />1<br />1<br />1<br /> 57 1<br />1<br />1<br />1<br /> 58 1<br />1<br />1<br />1<br /> 59 1<br />1<br />1<br />1<br /> 60 1<br />1<br />1<br />1<br /> 61 1<br />1<br />1<br />1<br /> 62 1<br />1<br />1<br />1<br /> 63 1<br />1<br />1<br />1<br /> 64 1<br />1<br />1<br />1<br /> 65 1<br />1<br />1<br />1<br /> 66 1<br />1<br />1<br />1<br /> 67 1<br />1<br />1<br />1<br /> 68 1<br />1<br />1<br />1<br /> 69 1<br />1<br />1<br />1<br /> 70 1<br />1<br />1<br />1<br /> 71 1<br />1<br />1<br />1<br /> 72 1<br />1<br />1<br />1<br /> 73 1<br />1<br />1<br />1<br /> 74 1<br />1<br />1<br />1<br /> 75 1<br />1<br /> 76 fdsfaddddddddddddddddddd 77 78 <a href="javascript:;" onclick="goTop();return false;">TOP</a> 79 </body> 80 </html>
应该很简单吧,上面获取滚动条的位置,各个内核的获取方式不一样,这里就整合了一下。希望对大家有帮助。
为什么要写博客啊?因为失恋了 ,我好想她啊,只有让自己忙起来才会缓和一下,失恋好难受啊,下次我一定要好好抓住,打死都不分手了。话说我是被甩的啊。哎。。。