gpt4 book ai didi

javascript - jQuery UI 布局 - 如何更改 Pane 的选项并动态应用它们而不切换 Pane 打开/关闭?

转载 作者:行者123 更新时间:2023-12-03 09:25:37 28 4
gpt4 key购买 nike

http://jsfiddle.net/jc3rj681/2/

使用插件jQuery UI Layout ,我有几个不同的 Pane 。当用户将窗口大小调整为较小尺寸时,我想调用一个函数来更改 Pane 的 minsizesize ,以便我可以使用窗口。

我可以执行此操作,但要应用更改,我必须切换关闭,然后切换打开 Pane 。这会产生大量闪烁,最终看起来非常困惑。我只需要这一个 Pane 以这种方式调整大小。

问题:有没有办法可以应用这些布局更改,而无需切换 Pane 两次才能应用它们?

看看我制作的这个 fiddle :http://jsfiddle.net/jc3rj681/2/

在这里,在切换 Pane 之前,对显示/隐藏按钮“宽度”的更改不会应用。如果您可以在不切换的情况下进行宽度更改,我相信它也能解决我的问题。

$("#eastToggle").click(function () {

testLayout.toggle('east');
});


$("#attempt").click(function () {
testLayout.options.east.spacing_closed = 20;
testLayout.options.east.spacing_open = 20;
});

最佳答案

我不确定是否有回调函数或任何特殊的实用方法可以做到这一点。

但是您可以尝试类似以下的操作(可能使用可以手动调整 Pane 大小的调整大小功能)-

var testLayout = $('body').layout({
applyDefaultStyles: true,
east: {
spacing_closed: 100, //toggler width
spacing_open: 100,
togglerLength_closed: 200, //toggler height (length)
togglerLength_open: 200
}
});

$("#eastToggle").click(function() {

testLayout.toggle('east');

});


$("#attempt").click(function() {
resize('east', 20);
});


// A function to resize the tab
function resize(region, space) {
// Width of the new center pane
var newCenterWidth = parseInt($('body .ui-layout-center').css('width').split('px')[0]) + testLayout.options.east.spacing_closed - space;

// Change the options so they don't affect the layout when you expand / collapse again
testLayout.options.east.spacing_closed = space;
testLayout.options.east.spacing_open = space;

// Manually resize the panes
$('body .ui-layout-resizer-' + region).css('width', space);
$('body .ui-layout-center').css('width', newCenterWidth);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://layout.jquery-dev.net/lib/js/jquery.layout-latest.js"></script>
<div class="ui-layout-center">Center</div>
<div class="ui-layout-north">North</div>
<div class="ui-layout-south">South</div>
<div class="ui-layout-east">East</div>
<div class="ui-layout-west">West
<br/>
<br/>

<button id="eastToggle">Toggle East Panel</button>
<br/>
<br/>
<button id="attempt">Change Width?</button>
</div>

关于javascript - jQuery UI 布局 - 如何更改 Pane 的选项并动态应用它们而不切换 Pane 打开/关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31688175/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com