Функция equalHeight, установить минимальную высоту для применения? - PullRequest
0 голосов
/ 02 сентября 2011

Я перепробовал все, но без JavaScript я не смогу получить плохой макет , который мне дал мой дизайнер !!

Как вы можете видеть, у меня есть div # backgr-box , который должен быть абсолютно позиционирован с z-index, чтобы правильно отстоять от # contenuto (который содержит содержимое страницы !!) Теперь, чтобы решить проблему экстенсивности # backgr-box У меня есть следующий код, который работает, если содержимое #contenuto длиннее, чем боковая панель # barra-laterale , но это не так нормально в противоположном случае, см. стр: http://demo.liquidfactory.it/secondopolo/per-informarti

Так как я могу сказать javascript применять этот расчет только к минимальной высоте div боковой панели # barra-laterale ??

Нужна помощь .. пожалуйста!

function equalHeight(group) {
           tallest = 0;
           group.each(function() {
              thisHeight = $(this).height();
              if(thisHeight > tallest) {
                 tallest = thisHeight = $("#contenuto").height() - 380;
              }
           });
           group.height(tallest);
        }
        $(document).ready(function() {
           equalHeight($(".column"));
        });

1 Ответ

0 голосов
/ 02 сентября 2011

Вероятна проблема с этой строкой:

tallest = thisHeight = $("#contenuto").height() - 380;

В настоящее время переменные tallest и thisHeight устанавливаются на высоту области содержимого минус 380 пикселей. Измените его на:

tallest = thisHeight;

И он изменит размеры всех столбцов до высоты самого высокого.

Редактировать : Похоже, что ваш правый столбец на самом деле состоит из нескольких столбцов с классом .barra-laterale, в этом случае вам может понадобиться еще один такт:

// calculate the total height of the content are and sidebar
var contentHeight = $("#contenuto").height();
var sidebarHeight = 0;
$(".barra-laterale").each(function() { sidebarHeight += $(this).height(); })

if (sidebarHeight > contentHeight) {
    $("#contenuto").height(sidebarHeight);
} else {
    // extend the last sidebar column to cover the difference between the 
    // height of the content and the sum of the sidebar heights
    var lastSideBarHeight = $(".barra-laterale").last().height();
    var heightDifference = contentHeight - sidebarHeight; 
    $(".barra-laterale").last().height(lastSideBarHeight + heightDifference) 
}
...