2012-01-18 2 views
0

Я пытаюсь изменить размер основного содержимого div #inhalt на моем сайте, чтобы он всегда заполнял все свободное пространство. В основном я делаю это, устанавливая высоту Общая полезная высота - верхнее положение #inhalt (пиксели сверху) - прокладка и т. Д.. Это мой JavaScript/JQuery код:jQuery .resize() работает только при увеличении окна

$(document).ready(function(){ 
    $("#inhalt").height($("#zentriert").height() - $("#inhalt").position().top - 48); 
    $(window).resize(function() { 
    $("#inhalt").height($("#zentriert").height() - $("#inhalt").position().top - 48); 
    });  
}); 

Это прекрасно работает, когда я изменить размер окна так, что она становится все больше. Однако я не делаю это меньше.

Есть ли у кого-нибудь идеи, почему и что я могу сделать?

+0

Чтобы получить доступное пространство, вы должны использовать '$ (window) .height()'. – kapa

ответ

1

Это действительно работает для меня. Я использовал его в большом количестве мест. Вы можете проверить это, имея сообщение журнала внутри обработчика resize.

$(window).resize(function() { 
    console.log('window resized'); 
    $("#inhalt").height($("#zentriert").height() - $("#inhalt").position().top - 48); 
}); 
+0

Странно! Это сообщение журнала также показывает, когда я изменяю его размер до меньшего размера, но #inhalt не изменяет размер! – Jonathan

+1

@ user1031178 - Это означает, что в вашей логике есть некоторые проблемы. Попробуйте отладить и найти его. – ShankarSangoli

+0

ах, извините, #zentriert увеличивается всякий раз, когда #inhalt увеличивается, поэтому при изменении размера до меньшего окна $ ("# zentriert"). Height() остается неизменным, а также #inhalt – Jonathan

Смежные вопросы