欢迎来到福编程网,本站提供各种互联网专业知识!

脚本控制三行三列自适应高度DIV布局

发布时间:2007-01-29 作者: 来源:转载
这个例子是用JS脚本控制并列DIV的高度,通常在DIV布局中,自适应高度一直是比较头疼的问题,一般大都采用背景图、外套DIV、右栏覆盖左栏......来解决。现在加了脚本后,简单多了,假如有三个水平并列的DIV,fbox、mbox、sbox,只要在标签中写入:onload="P7_equa
这个例子是用JS脚本控制并列DIV的高度,通常在DIV布局中,自适应高度一直是比较头疼的问题,一般大都采用背景图、外套DIV、右栏覆盖左栏......来解决。现在加了脚本后,简单多了,假如有三个水平并列的DIV,fbox、mbox、sbox,只要在标签中写入:onload="P7_equalCols('fbox','mbox','sbox')",测试条件:ie5.x、ie6.0、FF1.03、NS7.2、opera8.01。最终效果。

JS代码:版权归原作者,仅供学习研究.
复制代码 代码如下:
/*
------------------------------------------------
PVIIEqualCSSColumnsscripts
Copyright(c)2005ProjectSevenDevelopment
www.projectseven.com
Version:1.5.0
------------------------------------------------
*/
functionP7_colH(){//v1.5byPVII-www.projectseven.com
vari,oh,hh,h=0,dA=document.p7eqc,an=document.p7eqa;if(dA&&dA.length){
for(i=0;ioh=dA[i].offsetHeight;h=(oh>h)?oh:h;}for(i=0;idA[i].style.height=h+'px';}else{P7_eqA(dA[i].id,dA[i].offsetHeight,h);}}if(an){
for(i=0;ih){
dA[i].style.height=(h-(hh-h))+'px';}}}else{document.p7eqa=1;}
document.p7eqth=document.body.offsetHeight;
document.p7eqtw=document.body.offsetWidth;}
}
functionP7_eqT(){//v1.5byPVII-www.projectseven.com
if(document.p7eqth!=document.body.offsetHeight||document.p7eqtw!=document.body.offsetWidth){
P7_colH();}
}
functionP7_equalCols(){//v1.5byPVII-www.projectseven.com
if(document.getElementById){document.p7eqc=newArray;for(i=0;idocument.p7eqc[i]=document.getElementById(arguments[i]);}setInterval("P7_eqT()",10);}
}
functionP7_eqA(el,h,ht){//v1.5byPVII-www.projectseven.com
varsp=10,inc=10,nh=h,g=document.getElementById(el),oh=g.offsetHeight,ch=parseInt(g.style.height);
ch=(ch)?ch:h;varad=oh-ch,adT=ht-ad;nh+=inc;nh=(nh>adT)?adT:nh;g.style.height=nh+'px';
oh=g.offsetHeight;if(oh>ht){nh=(ht-(oh-ht));g.style.height=nh+'px';}
if(nh}

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

相关推荐