成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

實現返回頂部(Back to top)的JavaScript

2013-07-16 17:29:00來源:西部e網作者:

我們在很多網站比如新浪微博的右下角都能看到“返回頂部”的功能,那么它是如何實現的呢?下面就介紹實現返回頂部(Back to top)的JavaScript和css代碼。

我們在很多網站比如新浪微博的右下角都能看到“返回頂部”的功能,那么它是如何實現的呢?

功能:

1、點擊“返回頂部”(Back to top)鏈接跳轉到頁面的頂部(一屏)

2、在較短的頁面中不顯示,而在多屏的長頁面會自動顯示出來

3、支持IE8及其以上瀏覽器,Chrome和Safari等就更不必說了

4、不支持IE6(早該淘汰了)

這里介紹的是開源的lee-goToTop

使用方法:

demo.html

<!DOCTYPE html>
<html>
 <head>
  <title>返回頂部-Demo</title>
  <link rel="stylesheet" type="text/css" href="css/to-top.css"/>
 </head>
 <body>
  <p>向下拖動滾動條(進入第二屏),右下角會出現“返回頂部”圖標</p>
  <p>Item 1</p>
  <p>Item 2</p>
  <p>Item 3</p>
  <p>Item 4</p>
  <p>Item 5</p>
  <p>Item 6</p>
  <p>Item 7</p>
  <p>Item 8</p>
  <p>中間部分自己加</p>
  <p>Item 96</p>
  <p>Item 97</p>
  <p>Item 98</p>
  <p>Item 99</p>
  <p>Item 100</p>
  
  <img src="images/to-top.png" id="toTop"/>
  <script style="text/javascript" src="js/to-top.js"></script>
 </body>
</html>

to-top.css

* html, * html body{
 background-image:url(about:blank);
 background-attachment:fixed;
}
#toTop{
 position:fixed;
 _position:absolute;
 right:30px;
 bottom:40px;
 _top:expression(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-40);
 cursor:pointer;
 display:none;
}

to-top.js

/*!
 author: 李進
 email: tjuking@gmail.com
 blog: tjuking.iteye.com
 time: 2012-12-06
*/
(function(win, doc){
 //變量
 var compatMode = doc.compatMode,
  isChrome = win.navigator.userAgent.indexOf("Chrome") === -1 ? false : true,
  scrollEle = compatMode === "BackCompat" || isChrome ? doc.body : doc.documentElement,
  clientEle = compatMode === "BackCompat" ? doc.body : doc.documentElement,
  toTopImg = doc.getElementById("toTop"),
  rate = 0.6,
  timeGap = 10;
 //返回頂部圖標的點擊響應
 toTopImg.onclick = function(){
  var moveInterval = setInterval(moveScroll, timeGap);
  function moveScroll(){
   var scrollTop = scrollEle.scrollTop;
   if(scrollTop === 0){
    clearInterval(moveInterval);
    return ;
   }
   scrollEle.scrollTop = scrollTop * rate;
  }
 };
 //滾動時判斷是否顯示返回頂部圖標
 win.onscroll = function(){
  var display = toTopImg.style.display;
  if(scrollEle.scrollTop > clientEle.clientHeight){
   if(display !== "block"){
    toTopImg.style.display = "block";
   }
  }else{
   if(display !== "none"){
    toTopImg.style.display = "none";
   }
  }
 };
})(window, document);

lee-goToTop開源代碼下載地址https://github.com/tjuking/lee-goToTop

可以在js文件中修改彈性值rate、timeGap以滿足定制化需求,例如:

rate = 0.8; //默認 rate = 0.6

:這種方法采用的是原生javascript實現的,如果想使用jQuery,請看另一篇文章《jQuery實現“返回頂部”的功能(支持IE6)  》

 

贊助商鏈接:

主站蜘蛛池模板: 彭泽县| 砚山县| 永济市| 利辛县| 武城县| 沂源县| 从江县| 武鸣县| 西乌珠穆沁旗| 岳池县| 水富县| 阿城市| 乐山市| 杂多县| 吴旗县| 马公市| 云南省| 什邡市| 镇平县| 辽源市| 安化县| 柘城县| 松溪县| 黑龙江省| 永顺县| 博罗县| 普格县| 太和县| 晋州市| 呼和浩特市| 利津县| 惠安县| 崇仁县| 海淀区| 麻栗坡县| 始兴县| 朝阳市| 乌拉特中旗| 尉犁县| 宣武区| 开平市|