js回到頂部動畫效果實現方法

來源:互聯網
上載者:User

標籤:scrolltop   www   滾動   img   html   jquery   scroll   實現   nim   

達到回到頂部效果主要原理就是修改捲軸距離頂部的位置為零,捲軸距離頂部的位置介紹:

  擷取當前頁面捲軸縱座標的位置:document.body.scrollTop與document.documentElement.scrollTop

並且,document.body.scrollTop與document.documentElement.scrollTop兩者有個特點,就是同時只會有一個值生效。比如document.body.scrollTop能取到值的時候,document.documentElement.scrollTop就會始終為0;反之亦然。

接下來介紹三種回到頂部的實現:

1、無動畫效果:

document.body.scrollTop = document.documentElement.scrollTop = 0;

很簡單,直接改變捲軸頂部距離為0達到目的。

2、有簡單的動畫效果:

$("html,body").animate({scrollTop:0},500);

在一段時間之內改變頂部的距離,也可以支援一些簡單的動畫效果(速度函數)

3、由快到慢動畫效果,體驗較好:

scrollToptimer = setInterval(function () {    console.log("定時迴圈回到頂部")    var top = document.body.scrollTop || document.documentElement.scrollTop;    var speed = top / 4;    if (document.body.scrollTop!=0) {        document.body.scrollTop -= speed;    }else {        document.documentElement.scrollTop -= speed;    }    if (top == 0) {        clearInterval(scrollToptimer);    }}, 30); 

大致原理:因為減過之後的scrollTop越來越少,減的值越來越少,給人一種由快到慢的感覺。因為document.body.scrollTop與document.documentElement.scrollTop只會有一個有值,所以需要判斷一下,最後回到頂部後,清除掉定時器。speed可以設定大小,除數越大speed值越小,動畫效果越慢。其中top的值也可以這麼取:

var top=document.body.scrollTop + document.documentElement.scrollTop;

來源:

1.document.body.scrollTop與document.documentElement.scrollTop相關:點我跳轉

2.animate資料:點我跳轉

3.第三種動畫效果的出處:點我跳轉

 

js回到頂部動畫效果實現方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.