Как организовать на Jqery | высота блока = своей высоте + высота наибольшего из других двух?
Друзья, достался от предшественника шаблон, а там серьезный косяк с блоками.
Есть три блока в шаблоне, 2 подвижных ( id="sidebar" и id="midCol") и один центральный с контентом.
Если высота одного из подвижных блоков больше основного, то они наезжают на футер, если нет, то все красиво.
На css вариантов решения не нашел, но теоретически думаю, что можно на jqery.
Можно ли как-то организовать, по формуле, что высота центрального блока (.mincolw {
min-height: тут полученная переменная px;} ) min-height или height равна своей высоте + высота самого длинного из подвижных?
Что-то вроде такого:
min-height или height для класса mincolw = height для класса mincolw (то есть своя высота) + ( наибольшая высота из сравниваемых высот height(не задается в css, является динамическим) элементов/блоков sidebar и midCol, берется наибольшее)
Наверняка это как-то можно реализовать на jquery.. Кто-нибудь может подсказать решение?
Заранее спасибо.
Кстати, наверное, правильнее сделать если высота основного блока будет не складываться с самым высоким плавающим, а приравниваться ему? Хотя не знаю точно вашей задачи, только предполагаю
Спасибо, все работает как надо, только поигрался маленько с ID вместо класса. Нашел только небольшой баг, почему то при первом открытии сайта, условие (contentHeight < sideLeftHeight || sideLeftHeight < sideRightHeight) добавляет высоту в Height всегда, если обновить страницу (только обновить по F5, не перейти по ссылке на главную, то становится все как надо, left и right колонки при меньшей, чем у центрального блока высоте, не добавляют высоты центральному), такое впечатление, что не успевает отработать условие. js файл со скриптом и jquery подключены в шапке.
Не знаю, может я не прав, попробовал вот такое условие: if (centerblockHeight < sideLeftHeight || centerblockHeight < sideRightHeight) и вроде бы стало отображаться с первого раза. Еще раз большое спасибо за решение!
rework: вообще да, я думаю приравниваться. Как это будет выглядеть с правильным синтаксисом, затрудняюсь ответить, догадываюсь, что последняя строка кода.
Если приравнивать, то просто строку:
$('.content').height(contentHeight + ((sideLeftHeight>sideRightHeight)?sideLeftHeight:sideRightHeight));
Заменит на:
$('.content').height(((sideLeftHeight>sideRightHeight)?sideLeftHeight:sideRightHeight));