頁面跳到頂部的方法


頁面跳到頂部的方法

一、使用錨點鏈接

毫無疑問,使用錨點鏈接是一種簡單的返回頂部的功能實現。該實現主要在頁面頂部放置一個指定名稱的錨點鏈接,然后我們在頁面下方放置一個返回到該錨點的鏈接,用戶點擊該鏈接即可返回到該錨點所在的頂部位置。

示例代碼如下:

<!-- 定義一個名稱為top的錨點鏈接 -->

<a name="top"></a>

<!-- 這里是網頁主體內容,此處省略 -->


<!-- 返回頁面頂部top錨點的鏈接 -->
<a href="#top">返回頂部</a>

值得注意的是,在現代瀏覽器中,如果瀏覽器找不到指定的錨點(例如top),瀏覽器將會嘗試跳轉到id為top的HTML元素的起始位置。因此,我們也可以在頭部放置一個id為top的HTML元素,遺憾的是,並不是所有的瀏覽器——尤其是某些瀏覽器的舊版本,都兼容這種行為。

二、使用js函數scrollTo()

當然,我們還可以利用JavaScript為我們提供的函數scrollTo(x, y)來實現返回到頁面頂部的功能。scrollTo函數可以滾動到指定坐標(x, y)處的內容。我們將坐標設定為(0, 0)即可起到返回頂部的作用。

<a href="javascript:scrollTo(0,0);">返回頂部</a>

三、使用js操作DOM樣式

此外,我們還可以使用js將body或html等元素的scrollTop屬性設置為0,即可滾動到頁面的頂部。我們一般使用jQuery來實現上述代碼。

// 以下三種方式均可實現返回頁面頂部

$(window).scrollTop(0);

$('body').scrollTop(0);

$('html').scrollTop(0);

此外,我們還可以使用jQuery的動畫效果函數animate()來實現平滑滾動到頁面頂部的動畫效果。

// 在500毫秒內平滑滾動到頁面頂部

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

四、本方式是漸進式返回頂部,要好看一些,代碼如下:


function pageScroll() { 
window.scrollBy(0,-10); 
scrolldelay = setTimeout('pageScroll()',100); 

<a href="pageScroll();">返回頂部</a>

這樣就會動態返回頂部,不過雖然返回到頂部但是代碼仍在運行,還需要在pageScroll函數加一句給停止掉。

復制代碼 代碼如下:if(document.documentElement.scrollTop==0) clearTimeout(scrolldelay);


五、簡單的靜態返回頂部,用js模擬滾動效果上滑至頂部
 
js代碼

    function pageScroll(){
        //把內容滾動指定的像素數(第一個參數向右滾動的像素數,第二個參數向下滾動的像素數)
        window.scrollBy(0,-100);
        //延時遞歸調用,模擬滾動向上效果
        scrolldelay = setTimeout('pageScroll()',100);
        //獲取scrollTop值,聲明了DTD的標准網頁取document.documentElement.scrollTop,
    否則取document.body.scrollTop;因為二者只有一個會生效,另一個就恆為0,所以取和值
    可以得到網頁的真正的scrollTop值
        var sTop=document.documentElement.scrollTop+document.body.scrollTop;
        //判斷當頁面到達頂部,取消延時代碼(否則頁面滾動到頂部會無法再向下正常瀏覽頁面)
        if(sTop==0) clearTimeout(scrolldelay);
    }

html代碼

    <a onclick="pageScroll()">返回頂部</a>

缺點:滾動效果不平滑,且在頁面很長時點擊返回頂部,未向上到達頁面頂部無法再正常瀏覽頁面;

同上依舊是靜態固定於頁面底部,不一定能曝光在用戶面前。


免責聲明!

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



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