9

jqueryダイアログにデータを入力するためにajax経由でデータを返しています。ajaxは基本的に、行数が可変のhtmlテーブルです。

ダイアログを拡張して、特定の垂直サイズ(350px)までの行を表示したいのですが、その時点で垂直スクロールバーが表示されます。

したがって、これは正常に機能しているようです。ダイアログは行数に応じて正しくサイズ変更されます。ただし、垂直スクロールバーを取得することはありません。したがって、20行ある場合、最後の9行しか表示されません。

高さが350pxを超える場合、垂直スクロールバーを強制するにはどうすればよいですか?

$.ajax({
    type: 'POST',
    url: 'myurl',
    data: postdata,
    dataType: 'json',
    success: function (result) {
        if (result.success && result.data) {
            var $dialog = $('<div></div>').html(result.data).dialog({
                autoOpen: false,
                title: 'History',
                modal: true,
                height: Math.min((result.rows * 25) + 150, 350),
                width: 800
            });
            $dialog.dialog('open');

        }
        event.preventDefault();
    }
});
4

5 に答える 5

28

overflow:autoコンテンツdivのcssプロパティを追加する必要があります。

$("<div></div>").css({height:"350px", overflow:"auto"});

overflow-y:auto垂直スクロールのみが必要な場合overflow-x:hidden

于 2012-05-12T15:47:01.647 に答える
4

css max-height: 350px を使用します。およびオーバーフロー:自動; ..うまくいくはずです

于 2012-05-12T15:48:33.373 に答える