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

2022-04-15 0 526

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

JS代码:版权归原作者 ,仅供学习研究. 


复制代码 代码如下:

/* 

———————————————— 

PVII Equal CSS Columns scripts 

Copyright (c) 2005 Project Seven Development 

www.projectseven.com 

Version: 1.5.0 

———————————————— 

*/ 

function P7_colH(){ //v1.5 by PVII-www.projectseven.com 

var i,oh,hh,h=0,dA=document.p7eqc,an=document.p7eqa;if(dA&&dA.length){ 

for(i=0;i<dA.length;i++){dA[i].style.height=’auto’;}for(i=0;i<dA.length;i++){ 

oh=dA[i].offsetHeight;h=(oh>h)?oh:h;}for(i=0;i<dA.length;i++){if(an){ 

dA[i].style.height=h+’px’;}else{P7_eqA(dA[i].id,dA[i].offsetHeight,h);}}if(an){ 

for(i=0;i<dA.length;i++){hh=dA[i].offsetHeight;if(hh>h){ 

dA[i].style.height=(h-(hh-h))+’px’;}}}else{document.p7eqa=1;} 

document.p7eqth=document.body.offsetHeight; 

document.p7eqtw=document.body.offsetWidth;} 



function P7_eqT(){ //v1.5 by PVII-www.projectseven.com 

if(document.p7eqth!=document.body.offsetHeight||document.p7eqtw! =document.body.offsetWidth){ 

P7_colH();} 



function P7_equalCols(){ //v1.5 by PVII-www.projectseven.com 

if(document.getElementById){document.p7eqc=new Array;for(i=0;i<arguments.length;i++){ 

document.p7eqc[i]=document.getElementById(arguments[i]);} setInterval(“P7_eqT()”,10);} 



function P7_eqA(el,h,ht){ //v1.5 by PVII-www.projectseven.com 

var sp=10,inc=10,nh=h,g=document.getElementById(el),oh=g.offsetHeight,ch=parseInt(g.style.height) ; 

ch=(ch)?ch:h;var ad=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<adT){setTimeout(“P7_eqA(‘”+el+”‘,”+nh+”,”+ht+”) “,sp);} 

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”> <head> <title>脚本控制三行三列自适应高度DIV布局</title> <script src=”../js/eqCols.js” type=”text/javascript”></script> <style type=”text/css”> <!– body{ font-size: 75%; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; line-height: 100%; margin: 5px; padding: 0px; } #header,#mid,#footer{ width: 760px; margin: 0px auto; padding: 0px; } #header{ background: #F4F4F4; height: 60px; margin-bottom: 5px; } h3,h5{ padding-top: 25px; color: #708090; text-align: center; margin: 0; } #fbox{ background: #F1F1F1; width: 195px; float: left; } #mbox{ background: #DFF7FF; margin: 0px 5px 0px; padding: 0px; float: left; width: 360px; } #sbox{ background: #FFEBCC; width: 195px; float: right; } p{ margin: 0px; padding: 10px; text-indent: 2em; line-height: 130%; } #footer{ background: #CDDBED; border-top: solid 5px #FFFFFF; text-align: center; height: 60px; clear: both; } –> </style> </head> <body onload=”P7_equalCols(‘fbox’,’mbox’,’sbox’)”> <div id=”header”><h3>脚本控制三行三列自适应高度DIV布局</h3></div> <div id=”mid”> <div id=”fbox”><p> 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,但是有视力障碍 – 你我变老时就会成为他们的一员。 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。 </p><p> 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,但是有视力障碍 – 你我变老时就会成为他们的一员。 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。 </p></div> <div id=”mbox”><p> 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,但是有视力障碍 – 你我变老时就会成为他们的一员。 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。 </p> <p> 如果设计者使用像素为单位指定文字大小,大多数的用户将无法缩放文字,因为 Internet Explorer 改变文字大小的方式与别的浏览器不同。Mozilla 和 Opera 可以缩放已经设定像素大小的文字,而Windows 下的IE却不能。 </p> <p> 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,但是有视力障碍 – 你我变老时就会成为他们的一员。 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。 </p> <p> 如果设计者使用像素为单位指定文字大小,大多数的用户将无法缩放文字,因为 Internet Explorer 改变文字大小的方式与别的浏览器不同。Mozilla 和 Opera 可以缩放已经设定像素大小的文字,而Windows 下的IE却不能。 </p> </div><div id=”sbox”><p> 亲和力指的并不只是关于盲人和屏幕阅读器。还有许多人虽然不是盲人,但是有视力障碍 – 你我变老时就会成为他们的一员。 使网站变得更具亲和力的一个最简单的方法就是允许用户改变文字大小;拒绝提供这样的选择就剥夺了用户的主导权,很可能使用户无法舒适地阅读。 </p></div> </div> <div id=”footer”><h5>仅供演示 <a href=”javascript:history.back()”>Back</a></h5> <script src=”/js/copyrightdemo.js” type=”text/javascript”></script> </div> </body> </html>

[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 CSS/HTML 脚本控制三行三列自适应高度DIV布局 https://www.niceym.com/16564.html