Есть пара проблем. Как уже упоминалось, размер заголовка не изменяется должным образом при изменении размера портлета. Это потому, что заголовок имеет фиксированную ширину. Используйте ширину 100% следующим образом:
.portlet-header{ width:100%; height:25px;position:relative; }
Основная проблема заключается в том, что при изменении размера div-контент содержимого портлета не изменяется, а только основной портлет. Таким образом, когда вы просите аккордеон изменить размер контейнера, он не становится больше. Вам нужно сделать так, чтобы содержимое портлета заполняло элемент div портлета. Если вы сделаете это:
.portlet-content { overflow:auto; height: 100%; }
Высота содержимого div будет равна высоте раздела портала, что неверно (так как это не будет учитывать размер заголовка).
Вот решение на JavaScript, которое изменяет размер div-содержимого portlet:
$(".portlet").resizable({
resize: function () {
var height = $(".portlet").height() - $(".portlet-header").height();
$(".portlet-content").height( height );
$(".accordion").accordion("resize");
}
});
Вы также можете использовать событие «stop» вместо «resize», если хотите, чтобы авторазмер происходил только после завершения операции изменения размера.