最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript返回頂部效果(自寫代碼)

 更新時間:2013年01月06日 11:09:53   作者:  
今天抽空用原生javascript寫了個返回頂部效果,由于本人水平有限,如有問題請指出,在下很樂意接受,有需要的朋友可以參考下
現(xiàn)在很多網(wǎng)站都用到了返回頂部的效果,當(dāng)然懶的話也可以直接 a 鏈接鏈到 #,這樣也可以達到效果。今天抽空用原生 javascript 寫了個,由于本人水平有限,如有問題請指出。
html 代碼
復(fù)制代碼 代碼如下:

<!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>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個用來創(chuàng)建簡單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕聿榭椿蚓庉嬑谋?(.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁的簡單工具。</p>
<p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發(fā)布的網(wǎng)頁上顯示,否則可能導(dǎo)致錯誤,所以,在為網(wǎng)頁創(chuàng)建 HTML 文檔時它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</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 代碼
復(fù)制代碼 代碼如下:

//第一個參數(shù)是按鈕id;第二個參數(shù)是一個布爾值,true是一直顯示按鈕,false是當(dāng)滾動距離不為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失效,并不支持該效果。
PS:這是本人閑著無聊,通過自己所學(xué)的 javascript 知識,隨意寫的一些效果。

第二種方法
很多網(wǎng)頁在下方都會放置一個“返回頂部”按鈕,尤其是頁面底部沒有導(dǎo)航的網(wǎng)頁,這樣可以幫助訪客重新找到導(dǎo)航或者重溫一遍廣告(想得真美)。隨著近幾年來 JavaScript 的應(yīng)用日漸廣泛,滑動效果無處不在,于是我也跟跟風(fēng),將返回頂部功能做成了滑動效果。后來為了更貼合物理特征, 改造做成了減速的滑動效果。

首先說一下原理吧,我們會獲取滾動條到頁面頂部的距離,然后上移一定的距離;再獲取滾動條到頁面頂部的距離,上移一定的距離(比上一次小一點);以此類推 ...
先上代碼吧:
復(fù)制代碼 代碼如下:

<script type="text/javascript">
/**
* 回到頁面頂部
* @param acceleration 加速度
* @param time 時間間隔 (毫秒)
**/
function goTop(acceleration, time) {
acceleration = acceleration || 0.1;
time = time || 16;
var x1 = 0;
var y1 = 0;
var x2 = 0;
var y2 = 0;
var x3 = 0;
var y3 = 0;
if (document.documentElement) {
x1 = document.documentElement.scrollLeft || 0;
y1 = document.documentElement.scrollTop || 0;
}
if (document.body) {
x2 = document.body.scrollLeft || 0;
y2 = document.body.scrollTop || 0;
}
var x3 = window.scrollX || 0;
var y3 = window.scrollY || 0;
// 滾動條到頁面頂部的水平距離
var x = Math.max(x1, Math.max(x2, x3));
// 滾動條到頁面頂部的垂直距離
var y = Math.max(y1, Math.max(y2, y3));
// 滾動距離 = 目前距離 / 速度, 因為距離原來越小, 速度是大于 1 的數(shù), 所以滾動距離會越來越小
var speed = 1 + acceleration;
window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
// 如果距離不為零, 繼續(xù)調(diào)用迭代本函數(shù)
if(x > 0 || y > 0) {
var invokeFunction = "goTop(" + acceleration + ", " + time + ")";
window.setTimeout(invokeFunction, time);
}
}
</script>

document.documentElement.scrollTop, document.body.scrollTop, window.scrollY 其實都是一樣的,但它們只在某些瀏覽器中起作用。至于那哪個在哪些瀏覽器起作用可以自己調(diào)試一下。
如何使用?
復(fù)制代碼 代碼如下:

<a href="#" onclick="goTop();return false;">TOP</a>

相關(guān)文章

  • 微信小程序獲取地理位置及經(jīng)緯度授權(quán)代碼實例

    微信小程序獲取地理位置及經(jīng)緯度授權(quán)代碼實例

    這篇文章主要介紹了微信小程序獲取地理位置及經(jīng)緯度授權(quán)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • JS函數(shù)參數(shù)的傳遞與同名參數(shù)實例分析

    JS函數(shù)參數(shù)的傳遞與同名參數(shù)實例分析

    這篇文章主要介紹了JS函數(shù)參數(shù)的傳遞與同名參數(shù),結(jié)合實例形式分析了JS函數(shù)參數(shù)的傳遞與同名參數(shù)相關(guān)原理、使用技巧與操作注意事項,需要的朋友可以參考下
    2020-03-03
  • 使用原生JS添加進場和退場動畫詳解

    使用原生JS添加進場和退場動畫詳解

    總所周知啊,身為一個合格的前端搬磚工,會編寫并且添加一些基礎(chǔ)的動畫效果可謂是比較基礎(chǔ)且輕車熟路的技能了。本文將教大家如何使用原生JS添加進場和退場動畫,感興趣的可以了解一下
    2022-10-10
  • JavaScript實現(xiàn)移動端頁面按手機屏幕分辨率自動縮放的最強代碼

    JavaScript實現(xiàn)移動端頁面按手機屏幕分辨率自動縮放的最強代碼

    這篇文章主要介紹了JavaScript實現(xiàn)移動端頁面按手機屏幕分辨率自動縮放的最強代碼,通過阻止瀏覽器的默認行為各方面分析縮放的功能實現(xiàn),具體操作步驟大家可查看下文的詳細講解,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • EditPlus注冊碼生成器(js代碼實現(xiàn))

    EditPlus注冊碼生成器(js代碼實現(xiàn))

    在線的EditPlus注冊碼生成器,看了看還真是,在這里exe的注冊機病毒太多,純js的在線注冊機可就放心了,感興趣的各位可以參考下哈,希望可以幫助到你
    2013-03-03
  • JS身份證信息驗證正則表達式

    JS身份證信息驗證正則表達式

    很多時候我們都是通過一組正則表達式來判斷用戶輸入的身份證是否合法,那在用正則表達式判斷之前,首先要做到的是對身份證信息的一些效驗規(guī)則
    2017-06-06
  • BootStrap的JS插件之輪播效果案例詳解

    BootStrap的JS插件之輪播效果案例詳解

    Bootstrap 是一個用于快速開發(fā) Web 應(yīng)用程序和網(wǎng)站的前端框架。這篇文章主要介紹了BootStrap的JS插件之輪播效果案例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • Bootstrap進度條學(xué)習(xí)使用

    Bootstrap進度條學(xué)習(xí)使用

    這篇文章主要為大家詳細介紹了Bootstrap進度條的學(xué)習(xí)使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • JavaScript實現(xiàn)經(jīng)緯度轉(zhuǎn)換常用方法總結(jié)

    JavaScript實現(xiàn)經(jīng)緯度轉(zhuǎn)換常用方法總結(jié)

    WGS84坐標(biāo)系、GCJ02坐標(biāo)系、BD09坐標(biāo)系和Web 墨卡托投影坐標(biāo)系是我們常見的四個坐標(biāo)系。這篇文章為大家整理了這四個坐標(biāo)系之間相互轉(zhuǎn)換的方法,需要的可以參考一下
    2023-02-02
  • 使用JavaScript實現(xiàn)彈出層效果的簡單實例

    使用JavaScript實現(xiàn)彈出層效果的簡單實例

    下面小編就為大家?guī)硪黄褂肑avaScript實現(xiàn)彈出層效果的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05

最新評論

乌拉特前旗| 湖南省| 镇安县| 镇巴县| 北碚区| 海口市| 乌拉特前旗| 临洮县| 奉贤区| 工布江达县| 库尔勒市| 上蔡县| 上饶县| 沾益县| 河间市| 凤台县| 盱眙县| 汝州市| 改则县| 延寿县| 马鞍山市| 清新县| 陇南市| 得荣县| 山西省| 治多县| 寻乌县| 陈巴尔虎旗| 锡林浩特市| 长岛县| 朔州市| 河池市| 道真| 根河市| 民乐县| 德格县| 塔河县| 云林县| 蒙自县| 临沧市| 榆社县|