【问题标题】:Restricting Jquery Resize To Container限制 Jquery Resize 到容器
【发布时间】:2011-12-21 14:18:37
【问题描述】:

我在另一个 div 中放置了 2 个 div。我想在主 div 中调整这 2 个 div 的大小。我可以使用以下代码分别约束每个 div。

<div id='resizable'>
<div id='div1'></div>
<div id='div2'></div>
</div>

$("#div1").resizable({ containment: '#resizable' });

但我想同时约束主容器内的两个 div。我怎样才能用 jquery 做到这一点?

【问题讨论】:

  • 如果 div2 展开,您是否希望 div1 缩小,反之亦然?
  • 没有。假设 div 为 100*100,div2 为 100*100。如果我调整 div2 的大小,则 div1 仍应为 100*100 并且 div2 应在剩余空间中调整大小。

标签: javascript jquery jquery-ui drag-and-drop jquery-ui-resizable


【解决方案1】:

看起来这是一个错误:http://bugs.jqueryui.com/ticket/5817

您可以通过让 div 相应地调整彼此的大小来解决此问题。您需要针对多个 div 进行调整:http://jsbin.com/ewajaw/edit#javascript,html,live

这是你想要的吗?

【讨论】:

  • 是的,这个例子是对的。但是当你增加第一个 div 的高度时,第二个 div 会离开容器。我想防止这种情况发生
  • 在火狐中。尝试将第一个 div 的高度增加到容器的高度。第二个 div 中的文本熄灭
  • 哦,是的,现在我明白了。我唯一能想到的是使用溢出:隐藏。在此处查看更新:jsbin.com/ewajaw/3/edit
  • 你需要在所有的div中添加overflow:hidden。
  • 那想解决我的问题。我想要的是限制调整大小的移动,以便所有 div 都在主容器内
【解决方案2】:

你试过 maxWidth 吗:

$("#div1").resizable({ containment: '#resizable', maxWidth: ($("#resizable").width() / 2) });

【讨论】:

  • 这意味着它将每个 div 的宽度限制为 50%。我不想要那个。我想动态改变主容器内的宽度和高度。
  • 类似 jsfiddle 的东西,您可以在其中拖动一条线并调整两者的大小?
  • 这就是我想要的。
  • jsfiddle 包含 4 个区域。在我的情况下,div 的数量可以是动态的。可以是2,3,4,5 ....等
猜你喜欢
  • 2012-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-12
  • 1970-01-01
  • 1970-01-01
  • 2011-11-16
  • 2013-07-02
相关资源
最近更新 更多