国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JS 滾動事件window.onscroll與position:fixed寫兼容IE6的回到頂部組件

2019-11-20 08:47:16
字體:
來源:轉載
供稿:網友

現在網上的回到頂部組件,懂不懂就一大段讓人看不懂javascript代碼,還各種不兼容。起始這個組件,完全可以自己利用javascript的滾動事件window.onscroll與position:fixed手寫。IE6的兼容性問題主要出現在position:fixed上面,如何解決已經在《【CSS】IE6中的position:fixed問題與隨滾動條滾動的效果》(點擊打開鏈接)介紹過了。

下面具體說說如何利用JavaScript中的滾動事件window.onscroll實現這個回到頂部組件。具體效果如下:

IE6:


IE8:


FireFox:


首先是HTML+CSS的布局,在頁面的最頂部布置一個id與name皆為page_top的<a></a>作為錨點,之所以要共同設置id與name一切為了兼容。

然后就是在右下角放一個position:fixed的,內容為↑的div,當然你想搞得炫一點可以弄成一張圖片,甚至搞成♂也可以,這個div一開始是隱藏的。

最后是一大堆沒有意義的、占位置的<p>,沒什么好說的。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>回到頂部</title> <style type="text/css"> #top_div{ position:fixed; bottom:0px; right:0px; display:none; /*兼容IE6的position:fixed*/ _position: absolute;      _top: expression(eval(  document.documentElement.scrollTop + document.documentElement.clientHeight-this.offsetHeight-  (parseInt(this.currentStyle.marginTop,10)||0)-  (parseInt(this.currentStyle.marginBottom,10)||0)));  _margin-bottom:0px; _margin_right:0px; } </style> </head> <body> <a id="page_top" name="page_top"></a><!--回到頂部的錨點--> <div id="top_div"><a href="#page_top" style="text-decoration:none">↑</a></div> <p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p> <p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p> <p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p> <p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p> <p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p><p>占位置的內容</p> </body></html>

之后的腳本部分,一切很明朗了:

<script type="text/javascript"> window.onscroll = function(){  var t = document.documentElement.scrollTop || document.body.scrollTop;  var top_div = document.getElementById("top_div");  if (t >= 300) {   top_div.style.display = "inline";  }  else {   top_div.style.display = "none";  } }</script>

僅有一個滾動事件window.onscroll,就是用戶滾動滾動條就會觸發這個時事件,var t = document.documentElement.scrollTop || document.body.scrollTop;能夠兼容絕大部分瀏覽器,下面的t>=300是滾動條下滾300px之后,讓top_div顯示,這里用inline是以免block,會影響其它樣式。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳西县| 科尔| 海丰县| 宝山区| 沐川县| 甘孜| 略阳县| 玉山县| 桦南县| 金堂县| 锡林郭勒盟| 华坪县| 姜堰市| 宿迁市| 兰坪| 贵州省| 内乡县| 象山县| 晴隆县| 克什克腾旗| 高邮市| 油尖旺区| 玉溪市| 西乌珠穆沁旗| 咸阳市| 嘉兴市| 太仓市| 西昌市| 城步| 安福县| 奉化市| 磐石市| 普宁市| 余庆县| 平原县| 车致| 湖口县| 射阳县| 绥棱县| 怀远县| 建宁县|