我正在制作一个带有小部件的仪表板。可以使用 JQuery UI 插件调整小部件的大小,但只能调整其高度。宽度自动设置为父级的 100%,即屏幕的 50%。
小部件具有标题和内容:
<div id="widget">
<div id="header">ssss</div>
<div id="content">
<div id="grid-container">
<table id="mygrid"></table>
</div>
</div>
</div>
JS
$(function () {
var colNames = [
"One", "Two", "Three", "Four"];
var colModel = [];
for (index = 0; index < colNames.length; ++index) {
colModel.push({
name: "col" + index,
id: "col" + index,
width: 75
});
}
console.log($('#grid-container').height());
$('#mygrid').jqGrid({
datatype: 'local',
data: getData(),
height: $('#grid-container').height(),
autowidth: true,
shrinkToFit: false,
colNames: colNames,
colModel: colModel,
rownumbers: true,
rownumWidth: 10,
scroll: 1
});
$('#widget').resizable({
handles: "s",
distance: 5,
alsoResize: "#content",
resize: function () {
var $grid = $('#mygrid'),
$gbox = $grid.find(".ui-jqgrid"),
outerHeight = $gbox.height() - $grid.jqGrid('getGridParam', 'height') + 24;
$grid.jqGrid('setGridHeight', $('#grid-container').height() - outerHeight);
},
stop: function (event, ui) {
//that._trigger('resize');
}
});
});
function getData() {
//fake data from http://www.ok-soft-gmbh.com/jqGrid/T.J.Crowder.htm
//thx Oleg
[...]
}
在这里小提琴:
http://jsfiddle.net/techunter/AHWbv/
问题
在我的网站上,调整大小时它的滞后和跳跃。小提琴为我重现了这个问题。如果您有任何建议或替代解决方案,我会在这里苦苦挣扎。
如何在调整大小时用我的 jqgrid 填充父级来调整我的小部件高度?