JavaScript仿淘宝智能浮动,网页固定层代码
来源:程序员人生 发布时间:2013-12-02 03:39:14 阅读次数:3640次
在网以前的教程,我们发表过多玩游戏顶部浮动层、天涯社区的顶部浮动导航条,这是当前非常流行的一种效果!恰巧,今天在月光看到一篇同样的文章,提供较早使用该效果的淘宝网,只是没有给出完整代码!
在淘宝网中,商品列表特别长,而商品列名称始终保持在最顶端。如果你把滚动条滚动至最上边了,那么它会自动判断是否到顶端了,然后一直置顶从而不怕遮挡。
这种特效是通过JavaScript和CSS实现的,在实际开发中有不少用途,下面是我找到的一个使用JavaScript制作的仿淘宝智能浮动的源代码,兼容性不错,在IE、Firefox、Chrome下都能正常工作。
在Z-Blog中使用这个特效代码需要注意,如果在侧边栏使用,则需要注意,侧栏中的栏目不能使用JavaScript动态加载,必须用静态的格式,否则在JavaScript会错误的计算页面高度,上下滚动的时候会出现错位现象。
以下是相关代码:
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">
//随滚动移动的部分代码
</div>
</div>
CSS 代码:
#box{float:left;position:relative;width:295px;}
.div1{}
.div2{position:fixed;_position:absolute;top:3px;z-index:295;}