现在很多网站都用到了返回顶部的效果,当然懒的话也可以直接 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 失效,并不支持该效果。