jquery 1.9.1 を使用しています。私のアコーディオンでは、heightStyle の値 (つまり、'fill' の 'content') に従って高さが割り当てられます。
ペインの 1 つで、for ループを使用してリストをレンダリングしています。このペインは、設定したプロパティに関係なく、常にオーバーフローしています。
ここに私のJSPがあります:
<style>
#accordion-resizer {
padding: 10px;
width: 350px;
height: 220px;
}
</style>
<script>
$(function() {
$( "#accordion" ).accordion({
heightStyle: "fill",
autoHeight: false
});
});
$(function() {
$( "#accordion-resizer" ).resizable({
minHeight: 140,
minWidth: 200,
resize: function() {
$( "#accordion" ).accordion( "refresh" );
}
});
});
</script>
</head>
<body>
<div id="accordion-resizer" class="ui-widget-content">
<div id="accordion" style="font-size: medium;">
<h3>Projects</h3>
<div>
<p>
<form:form method="post" modelAttribute="projects" >
<c:forEach items="${projects}" var="project" varStatus="status">
<tr>
<td align="center">${status.count}</td>
<td><input name="projects[${status.index}].projectId"
value="${project.projectId}" /><br /></td>
</tr>
</c:forEach>
<button type="submit"></button>
</form:form>
</p>
</div>
<h3>Excepteur sint occaecat</h3>
<div>
<p>Lorem Ipsum</p>
<p>tempora incidunt ut labore</p>
</div>
<h3>Other Info</h3>
<div>
<p>Neque porro quisquam </p>
<p>Sed eleifend nonummy </p>
</div>
</div>
</div>
最初のペインは、ロード後にフォームを展開し、オーバーフローします。それ以外の場合は通常の高さである他のペインも、この新しい高さに適応します。私が試してみました:
heightStyle: "fill" および heightStyle: "content"
両方とも、最初のペインが吹き飛ばされるのを止めることはできません。