【发布时间】:2023-03-29 19:34:02
【问题描述】:
我有一个多面板 jQuery 布局,并且想在调整大小时知道内部中心面板的大小。 document.ready 函数如下所示:
$(document).ready(function () {
outerLayout = $('body').layout({
spacing_open: 8
, south__spacing_open: 4
, north__minSize: 40
, north__maxSize: 200
, center__onresize: resizeInnerLayout
, resizeWhileDragging: true
, triggerEventsWhileDragging: true
});
这里是resizeInnerLayout函数:
function resizeInnerLayout() {
var width=$('#content-middle').width();
var height = $('#content-middle').height();
console.log("content-middle size = ("+width +"," +height +")");
};
这里是html:
<div id="content-middle" class="inner-center">
<svg></svg>
</div>
Javascript 在 svg 中放置了一个 d3 图表。我需要知道 div 的大小,因为当用户滑动分隔条时它会调整大小,以便我可以相应地调整图表的大小。目前,console.log 没有输出任何内容。
我也尝试将函数绑定到 layoutpaneresize 事件,如下所示:
$('.inner-center').bind('layoutpaneresize', function(paneName, $pane, paneState, paneOptions) {
console.log("content-middle size = ("+paneState.width +"," +paneState.height +")");
});
但它也没有输出任何内容。这也没有:
$('.inner_center').resize(function() {
console.log("content-middle is being resized");
});
此方法有效,但前提是调整浏览器窗口的大小,而不是调整窗口内的拆分器大小。即使这样,它也会在您开始调整大小时报告大小,但不会随着大小继续变化而更新。
window.addEventListener("resize", drawChart);
有什么想法吗?
【问题讨论】:
-
由于显然没有人知道这个问题的答案,我在 jquery-layout 论坛中添加了另一个帖子。 groups.google.com/forum/#!topic/jquery-ui-layout/NiZ-U3rIT4k
标签: javascript jquery jquery-layout