jQueryUIダイアログボックス内でjQueryUIタブを使用しています。各タブ パネルのコンテンツは非常に大きくなる可能性があります。たとえば、個々のタブ パネル内に数百行のテーブルが存在する場合があります。そのため、コンテンツをナビゲートするにはスクロールバーが必要です。
デフォルトでは、ダイアログ パネルには独自のスクロールバーが表示されますが、これは私が望んでいるものではありません。このスクロールバーにより、ナビゲーション タブ自体が上に移動して表示されなくなります。私が望むのは、必要に応じて各タブ パネルに独自のスクロール バーを表示し、ナビゲーション タブは表示したままにすることです。ダイアログ パネルに「overflow:hidden」を設定してから、個々のタブ パネルに「overflow:auto」を設定してみました (以下を参照)。ただし、コンテンツで必要な場合でも、タブパネルにスクロールバーが表示されません。
以下は、問題を示す (簡略化された) テスト ケースです。オーバーフロー スタイルを使用して問題を解決しようとした試みも含まれています。「大きなコンテンツ...」を、スクロールバーが必要になる何かに置き換えると、それが表示されます。
それが十分に明確であることを願っています。この問題を解決する方法についてのアイデアはありますか? どうもありがとう...
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#dialog").dialog({height:300});
$("#tabs").tabs();
});
</script>
</head>
<body>
<div id="dialog" style="overflow:hidden;">
<div id="tabs">
<ul>
<li><a href="#tab-1">tab-1</a></li>
<li><a href="#tab-2">tab-2</a></li>
</ul>
<div id="tab-1" style="overflow:auto;">Big content...</div>
<div id="tab-2" style="overflow:auto;">Big content...</div>
</div>
</div>
</body>
</html>