我們經(jīng)常在淘寶網(wǎng)看到這樣的特效,商品列表特別長(zhǎng),而商品列名稱(chēng)始終保持在最頂端。如果你把滾動(dòng)條滾動(dòng)至最上邊了,那么它會(huì)自動(dòng)判斷是否到頂端了,然后一直置頂從而不怕遮擋。
這種特效是通過(guò)JavaScript和CSS實(shí)現(xiàn)的,在實(shí)際開(kāi)發(fā)中有不少用途,下面是我找到的一個(gè)使用JavaScript制作的仿淘寶智能浮動(dòng)的源代碼,兼容性不錯(cuò),在IE、Firefox、Chrome下都能正常工作。
在Z-Blog中使用這個(gè)特效代碼需要注意,如果在側(cè)邊欄使用,則需要注意,側(cè)欄中的欄目不能使用JavaScript動(dòng)態(tài)加載,必須用靜態(tài)的格式,否則在JavaScript會(huì)錯(cuò)誤的計(jì)算頁(yè)面高度,上下滾動(dòng)的時(shí)候會(huì)出現(xiàn)錯(cuò)位現(xiàn)象。
以下是相關(guān)代碼:
jQuery 代碼
(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">
//隨滾動(dòng)移動(dòng)的部分代碼
</div>
</div>
CSS 代碼
#box{float:left;position:relative;width:295px;}
.div1{}
.div2{position:fixed;_position:absolute;top:3px;z-index:295;}

