2010-03-27 64 views
1

问候和你好
我想拼凑一个wordpress网站,现在因为主div的内容将会与每个页面的高度不同,我需要导航边栏来拉伸到相同的高度。
那么一点点的JavaScript TOM-foolery我能得到侧边栏是相同的高度用下面的代码动态调整导航格的大小主要内容

function adjust(){ 
    hgt=document.getElementById('content').offsetHeight; 
    document.getElementById('sidebar').style.height=hgt+'px'; 

} 
window.onload=adjust; 
window.onresize=adjust; 

现在,一切都很好了很长的网页,但如果含量越少,则边栏的东西变都凌乱。所以,我已经试过了如果语句,像这样

function adjust() 
{ 
if (document.getElementById('content').style.height < document.getElementById('sidebar').style.height){ 
hgt=document.getElementById('content').offsetHeight; 
document.getElementById('sidebar').style.height=hgt+'px'; 
else 
hgt=document.getElementById('sidebar').offsetHeight; 
document.getElementById('content').style.height=hgt+'px'; 
} 
} 
window.onload=adjust; 
window.onresize=adjust; 

但是,这只是没有做任何事情,所以任何想法怎么回事?

+0

你缺少之前你还有一个右大括号和之后的大括号其他。只是想确保在您将代码复制到此处时出现错误,而不是代码中的实际错误。 – 2010-03-27 21:53:35

回答

0

可能有几个原因:

1)瓦利德说你缺少一个闭合。

2)如果您没有设置明确的风格

document.getElementById('sidebar').style.height 

它将返回 “”

3)注意假设style.height和的offsetHeight是等价的。根据浏览器,一个或另一个可能占利润和paddingC:

1

新的代码,如果有人需要它

function adjust() 
{ 
    if (document.getElementById('content').offsetHeight < document.getElementById('sidebar').offsetHeight) 
     { 
     hgt1=document.getElementById('sidebar').offsetHeight; 
     document.getElementById('content').style.height=hgt1+'px'; 
     } 
     else 
     { 
     hgt2=document.getElementById('content').offsetHeight; 
     document.getElementById('sidebar').style.height=hgt2+'px'; 
     } 

} 
window.onload=adjust; 
window.onresize=adjust;