2010-03-27 8 views
1

Salutations et Bonjour
Je suis en train de mettre en place un site wordpress, maintenant parce que le contenu dans le div principal va être une hauteur différente avec chaque page dont j'ai besoin de la barre latérale de navigation pour étirer à la même hauteur.
Donc, avec un peu de javascript tam-niaiserie je peux obtenir la barre latérale pour être la même hauteur avec le code suivantRedimensionnement dynamique div de la navigation au contenu principal

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

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

Maintenant, c'est tout bon pour une longue page, mais si le contenu est plus petite que la substance de la barre latérale obtient tout en désordre. J'ai donc essayé un si déclaration comme si

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; 

Mais cela ne fonctionne tout simplement pas faire quoi que ce soit, donc des idées sur ce qui se passe?

+0

Il vous manque une accolade fermante avant d'autre et une ouverture accolade après que vous autre. Je veux juste m'assurer que c'est une erreur quand vous avez copié le code ici et pas une erreur réelle dans votre code. –

Répondre

0

pourrait y avoir plusieurs raisons:

1) Waleed dit que vous manque une fermeture.

2) Si vous n'avez pas défini un style explicite pour

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

il retournera ""

3) assumerons style.height et offsetHeight attention sont équivalentes. Selon les navigateurs, l'un ou l'autre peut être la comptabilisation des marges et paddingC:

1

le nouveau code si quelqu'un en a besoin

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; 
Questions connexes