【javascript】返回頂部效果


現在很多網站都用到了返回頂部的效果,當然懶的話也可以直接 a 鏈接鏈到 #,這樣也可以達到效果。今天抽空用原生 js 寫了個,由於本人水平有限,如有問題請指出。

html 代碼:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>js-回到頂部</title>
    <style type="text/css">
    *{margin:0;padding:0;}
    .wrapper{width:960px;margin-left:auto;margin-right:auto;}
    p{margin:10px;line-height:30px;}
    #top{position:fixed;right:130px;bottom:50px;background:gray;padding:5px;display:block;}
    </style>
</head>
<body>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p>
    <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p>
    <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
    <a href="javascript:;" id="top">回到頂部</a>
</body>
</html>
<script type="text/javascript" src="js/toTop.js"></script>
<script type="text/javascript">
window.onload = function(){
    toTop('top',false);
}
</script>

toTop.js 代碼:

//第一個參數是按鈕id;第二個參數是一個布爾值,true是一直顯示按鈕,false是當滾動距離不為0時,顯示按鈕
function toTop(id,show){
    var oTop = document.getElementById(id);
    var bShow = show;
    if(!bShow){
        oTop.style.display = 'none';
        setTimeout(btnShow,50);
    }
    oTop.onclick = scrollToTop;
    function scrollToTop(){
        var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
        var iSpeed = Math.floor(-scrollTop/2);
        if(scrollTop <= 0){
            if(!bShow){
                oTop.style.display = 'none';
            }
            return;
        }
        document.documentElement.scrollTop = document.body.scrollTop = scrollTop + iSpeed;
        setTimeout(arguments.callee,50);
    }
    function btnShow(){
        var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
        if(scrollTop <= 0 ){
            oTop.style.display = 'none';
        }else{
            oTop.style.display = 'block';
        }
        setTimeout(arguments.callee,50);
    }
}

注意:

ie6 下 position:fixed 無效,具體兼容請點擊瀏覽器的各種 bug。另外以前寫過一篇 css 解決 ie6 下 position:fixed 失效,並不支持該效果。


免責聲明!

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



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