JS實現(xiàn)部分HTML固定頁面頂部隨屏滾動效果
本文實例講述了JS實現(xiàn)部分HTML固定頁面頂部隨屏滾動效果。分享給大家供大家參考,具體如下:
我們經(jīng)常在淘寶網(wǎng)看到這樣的特效,商品列表特別長,而商品列名稱始終保持在最頂端。如果你把滾動條滾動至最上邊了,那么它會自動判斷是否到頂端了,然后一直置頂從而不怕遮擋。
這種特效是通過JavaScript和CSS實現(xiàn)的,在實際開發(fā)中有不少用途,下面是我找到的一個使用JavaScript制作的仿淘寶智能浮動的源代碼,兼容性不錯,在IE、Firefox、Chrome下都能正常工作。
使用這個特效代碼需要注意,如果在側(cè)邊欄使用,則需要注意,側(cè)欄中的欄目不能使用JavaScript動態(tài)加載,必須用靜態(tài)的格式,否則在JavaScript會錯誤的計算頁面高度,上下滾動的時候會出現(xiàn)錯位現(xiàn)象。
JavaScript代碼:
(function(){ var oDiv=document.getElementById("float"); var H=0,iE6; var Y=oDiv; while(Y){H+=Y.offsetTop;Y=Y.offsetParent}; iE6=window.ActiveXObject&&!window.XMLHttpRequest; if(!iE6){ window.onscroll=function() { var s=document.body.scrollTop||document.documentElement.scrollTop; if(s>H){oDiv.className="div1 div2";if(iE6){oDiv.style.top=(s-H)+"px";}} else{oDiv.className="div1";} }; } })();
HTML代碼:
<div id="box"> <div id="float" class="div1"> //隨滾動移動的部分代碼 </div> </div>
CSS代碼:
#box{float:left;position:relative;width:295px;} .div1{} .div2{position:fixed;_position:absolute;top:3px;z-index:295;}
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
JS實現(xiàn)的Object數(shù)組去重功能示例【數(shù)組成員為Object對象】
這篇文章主要介紹了JS實現(xiàn)的Object數(shù)組去重功能,可實現(xiàn)針對數(shù)組成員為Object對象的去重復(fù)功能,涉及javascript數(shù)組元素遍歷、屬性判斷等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02javascript如何使用函數(shù)random來實現(xiàn)課堂隨機點名方法詳解
這篇文章主要介紹了javascript如何使用函數(shù)random來實現(xiàn)課堂隨機點名方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07bootstrap datepicker限定可選時間范圍實現(xiàn)方法
這篇文章主要介紹了bootstrap datepicker限定可選時間范圍的實現(xiàn)方法,本文涉及到相關(guān)知識點,通過實例給大家介紹的非常詳細,需要的朋友可以參考下2016-09-09JavaScript實現(xiàn)繼承的6種常用方式總結(jié)
JavaScript想實現(xiàn)繼承的目的:重復(fù)利用另外一個對象的屬性和方法。本文為大家總結(jié)了JavaScript實現(xiàn)繼承的6種常用方式,需要的可以參考一下2022-07-07微信小程序?qū)崿F(xiàn)簡單input正則表達式驗證功能示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)簡單input正則表達式驗證功能,結(jié)合實例形式分析了微信小程序input組件事件綁定及正則驗證相關(guān)操作技巧,需要的朋友可以參考下2017-11-11JavaScript聲明函數(shù)的5種方法小結(jié)
本文主要介紹了JavaScript聲明函數(shù)的5種方法小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02