Динамическое изменение размера навигационного элемента div к основному контенту - PullRequest
1 голос
/ 28 марта 2010

Привет и привет
Я пытаюсь собрать сайт 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;  

Но это ничего не делает, так что есть идеи, что происходит?

Ответы [ 2 ]

1 голос
/ 28 марта 2010

новый код, если кому-то это нужно

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;
0 голосов
/ 28 марта 2010

может быть несколько причин:

1) как сказал Валид, вам не хватает замыкания.

2) Если вы не установили явный стиль для

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

вернется ""

3) Будьте осторожны, предполагая, что style.height и offsetHeight эквивалентны. В зависимости от браузеров, один или другой может учитывать поля и отступыC:

...