javascript返回頂部效果(自寫代碼)
更新時(shí)間:2013年01月06日 11:09:53 作者:
今天抽空用原生javascript寫了個(gè)返回頂部效果,由于本人水平有限,如有問(wèn)題請(qǐng)指出,在下很樂(lè)意接受,有需要的朋友可以參考下
現(xiàn)在很多網(wǎng)站都用到了返回頂部的效果,當(dāng)然懶的話也可以直接 a 鏈接鏈到 #,這樣也可以達(dá)到效果。今天抽空用原生 javascript 寫了個(gè),由于本人水平有限,如有問(wèn)題請(qǐng)指出。
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>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器。“記事本”最常用來(lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器。“記事本”最常用來(lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</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 代碼:
//第一個(gè)參數(shù)是按鈕id;第二個(gè)參數(shù)是一個(gè)布爾值,true是一直顯示按鈕,false是當(dāng)滾動(dòng)距離不為0時(shí),顯示按鈕
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 無(wú)效,具體兼容請(qǐng)點(diǎn)擊瀏覽器的各種bug。另外以前寫過(guò)一篇css解決ie6下position:fixed失效,并不支持該效果。
PS:這是本人閑著無(wú)聊,通過(guò)自己所學(xué)的 javascript 知識(shí),隨意寫的一些效果。
第二種方法:
很多網(wǎng)頁(yè)在下方都會(huì)放置一個(gè)“返回頂部”按鈕,尤其是頁(yè)面底部沒(méi)有導(dǎo)航的網(wǎng)頁(yè),這樣可以幫助訪客重新找到導(dǎo)航或者重溫一遍廣告(想得真美)。隨著近幾年來(lái) JavaScript 的應(yīng)用日漸廣泛,滑動(dòng)效果無(wú)處不在,于是我也跟跟風(fēng),將返回頂部功能做成了滑動(dòng)效果。后來(lái)為了更貼合物理特征, 改造做成了減速的滑動(dòng)效果。
首先說(shuō)一下原理吧,我們會(huì)獲取滾動(dòng)條到頁(yè)面頂部的距離,然后上移一定的距離;再獲取滾動(dòng)條到頁(yè)面頂部的距離,上移一定的距離(比上一次小一點(diǎn));以此類推 ...
先上代碼吧:
<script type="text/javascript">
/**
* 回到頁(yè)面頂部
* @param acceleration 加速度
* @param time 時(shí)間間隔 (毫秒)
**/
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;
// 滾動(dòng)條到頁(yè)面頂部的水平距離
var x = Math.max(x1, Math.max(x2, x3));
// 滾動(dòng)條到頁(yè)面頂部的垂直距離
var y = Math.max(y1, Math.max(y2, y3));
// 滾動(dòng)距離 = 目前距離 / 速度, 因?yàn)榫嚯x原來(lái)越小, 速度是大于 1 的數(shù), 所以滾動(dòng)距離會(huì)越來(lái)越小
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 其實(shí)都是一樣的,但它們只在某些瀏覽器中起作用。至于那哪個(gè)在哪些瀏覽器起作用可以自己調(diào)試一下。
如何使用?
<a href="#" onclick="goTop();return false;">TOP</a>
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>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器。“記事本”最常用來(lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器。“記事本”最常用來(lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</p>
<p>“記事本”是一個(gè)用來(lái)創(chuàng)建簡(jiǎn)單的文檔的基本的文本編輯器?!坝浭卤尽弊畛S脕?lái)查看或編輯文本 (.txt) 文件,但是許多用戶發(fā)現(xiàn)“記事本”是創(chuàng)建網(wǎng)頁(yè)的簡(jiǎn)單工具。</p>
<p>因?yàn)椤坝浭卤尽眱H支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因?yàn)樘厥庾址蚱渌袷讲荒茉谒l(fā)布的網(wǎng)頁(yè)上顯示,否則可能導(dǎo)致錯(cuò)誤,所以,在為網(wǎng)頁(yè)創(chuàng)建 HTML 文檔時(shí)它特別有用。</p>
<p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當(dāng)使用不同字符集的文檔時(shí),這些格式可以向您提供更大的靈活性。</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ù)制代碼 代碼如下:
//第一個(gè)參數(shù)是按鈕id;第二個(gè)參數(shù)是一個(gè)布爾值,true是一直顯示按鈕,false是當(dāng)滾動(dòng)距離不為0時(shí),顯示按鈕
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 無(wú)效,具體兼容請(qǐng)點(diǎn)擊瀏覽器的各種bug。另外以前寫過(guò)一篇css解決ie6下position:fixed失效,并不支持該效果。
PS:這是本人閑著無(wú)聊,通過(guò)自己所學(xué)的 javascript 知識(shí),隨意寫的一些效果。
第二種方法:
很多網(wǎng)頁(yè)在下方都會(huì)放置一個(gè)“返回頂部”按鈕,尤其是頁(yè)面底部沒(méi)有導(dǎo)航的網(wǎng)頁(yè),這樣可以幫助訪客重新找到導(dǎo)航或者重溫一遍廣告(想得真美)。隨著近幾年來(lái) JavaScript 的應(yīng)用日漸廣泛,滑動(dòng)效果無(wú)處不在,于是我也跟跟風(fēng),將返回頂部功能做成了滑動(dòng)效果。后來(lái)為了更貼合物理特征, 改造做成了減速的滑動(dòng)效果。
首先說(shuō)一下原理吧,我們會(huì)獲取滾動(dòng)條到頁(yè)面頂部的距離,然后上移一定的距離;再獲取滾動(dòng)條到頁(yè)面頂部的距離,上移一定的距離(比上一次小一點(diǎn));以此類推 ...
先上代碼吧:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
/**
* 回到頁(yè)面頂部
* @param acceleration 加速度
* @param time 時(shí)間間隔 (毫秒)
**/
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;
// 滾動(dòng)條到頁(yè)面頂部的水平距離
var x = Math.max(x1, Math.max(x2, x3));
// 滾動(dòng)條到頁(yè)面頂部的垂直距離
var y = Math.max(y1, Math.max(y2, y3));
// 滾動(dòng)距離 = 目前距離 / 速度, 因?yàn)榫嚯x原來(lái)越小, 速度是大于 1 的數(shù), 所以滾動(dòng)距離會(huì)越來(lái)越小
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 其實(shí)都是一樣的,但它們只在某些瀏覽器中起作用。至于那哪個(gè)在哪些瀏覽器起作用可以自己調(diào)試一下。
如何使用?
復(fù)制代碼 代碼如下:
<a href="#" onclick="goTop();return false;">TOP</a>
您可能感興趣的文章:
- 一個(gè)簡(jiǎn)單的彈性返回頂部JS代碼實(shí)現(xiàn)介紹
- js+JQuery返回頂部功能如何實(shí)現(xiàn)
- js簡(jiǎn)單的點(diǎn)擊返回頂部效果實(shí)現(xiàn)方法
- JS返回頂部實(shí)例代碼
- javascript簡(jiǎn)單實(shí)現(xiàn)跟隨滾動(dòng)條漂浮的返回頂部按鈕效果
- javascript實(shí)現(xiàn)博客園頁(yè)面右下角返回頂部按鈕
- js實(shí)現(xiàn)返回頂部效果
- jQuery實(shí)現(xiàn)返回頂部功能適合不支持js的瀏覽器
- 原生js實(shí)現(xiàn)返回頂部緩沖效果
- js實(shí)現(xiàn)帶有動(dòng)畫(huà)的返回頂部
相關(guān)文章
window.open()實(shí)現(xiàn)post傳遞參數(shù)
本文主要向大家介紹了如何使用window.open()實(shí)現(xiàn)post傳遞參數(shù)的方法,思路是參考的一位網(wǎng)友的,然后根據(jù)自己的項(xiàng)目需求做了些調(diào)整,這里同樣分享給大家,希望對(duì)大家能夠有所幫助。2015-03-03JavaScript 通過(guò)Ajax 動(dòng)態(tài)加載CheckBox復(fù)選框
本文通過(guò)實(shí)例代碼給大家介紹了JavaScript 通過(guò)Ajax 動(dòng)態(tài)加載CheckBox復(fù)選框的方法,需要的朋友參考下吧2017-08-08數(shù)據(jù)庫(kù)管理工具PHPMyAdmin
這篇文章主要為大家介紹了數(shù)據(jù)庫(kù)管理工具PHPMyAdmin使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09postman自定義函數(shù)實(shí)現(xiàn) 時(shí)間函數(shù)的思路詳解
Postman是一款功能強(qiáng)大的網(wǎng)頁(yè)調(diào)試與發(fā)送網(wǎng)頁(yè)HTTP請(qǐng)求的Chrome插件。這篇文章主要給大家介紹postman自定義函數(shù)實(shí)現(xiàn) 時(shí)間函數(shù)的思路詳解,感興趣的朋友一起看看吧2019-04-04JavaScript實(shí)現(xiàn)氣球打字的小游戲
這篇文章主要介紹了JavaScript實(shí)現(xiàn)氣球打字的小游戲,下面文章的思路來(lái)源于打字游戲,具體實(shí)現(xiàn)過(guò)程,需要的朋友可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-04-04JS數(shù)組去重常用方法實(shí)例小結(jié)【4種方法】
這篇文章主要介紹了JS數(shù)組去重常用方法,結(jié)合實(shí)例形式總結(jié)分析了4種常用的數(shù)據(jù)去重實(shí)現(xiàn)方法,涉及javascript數(shù)組的遍歷、判斷、追加等相關(guān)操作技巧,需要的朋友可以參考下2018-05-05如何使用工具規(guī)范前端項(xiàng)目的commits與changelog技巧
這篇文章主要為大家介紹了如何使用工具規(guī)范前端項(xiàng)目的commits與changelog技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02