純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>

應該很簡單吧,上面獲取滾動條的位置,各個內核的獲取方式不一樣,這里就整合了一下。希望對大家有幫助。

為什么要寫博客啊?因為失戀了 ,我好想她啊,只有讓自己忙起來才會緩和一下,失戀好難受啊,下次我一定要好好抓住,打死都不分手了。話說我是被甩的啊。哎。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM