我认为问题在于关闭意味着关闭和消失,所以你不应该仍然能够看到框架。如果我明白你想要正确地做什么,你可以通过用自定义代码覆盖关闭操作来伪造它。
这涉及覆盖onclose_start回调,设置大小,然后返回false以防止窗格关闭。请注意,这意味着就系统而言,该窗格并未真正关闭。
下面的代码完成了所有这些工作,它在西面窗格状态对象上创建一个新变量来存储旧尺寸。它定义了在创建函数开始时(尽管如果没有定义系统没有抱怨)。您也可以使用全局变量或其他存储。您可以使该功能更通用,不仅适用于西方等。
我不确定您希望系统如何工作,您可能需要摆弄if条件。
$(document).ready(function() {
var mylayout = $("body").layout(
{west: {
minSize: 40,
onclose_start: function() {
var closed_size = 40;
var current_size = mylayout.state.west.size;
if (current_size <= closed_size) {
mylayout.sizePane('west', mylayout.state.west.old_size);
} else {
mylayout.sizePane('west', closed_size);
mylayout.state.west.old_size = current_size;
}
return false;
}}
});
mylayout.state.west.old_size = mylayout.state.west.size;
});
谢谢!有用。现在我只需要插入第三个选项,让它完全关闭。 –