使用jQuery-Resizable调整2个div的宽度

时间:2011-05-19 06:53:03

标签: javascript jquery css resizable jquery-ui-resizable

我目前正在阅读以下页面:

schema of the page

使用$().ready()

中的以下代码,jQuery修改了divResizable
 $("#divResizable").resizable({ handles: 'e' });
 $("#divResizable").bind("resize", function (event, ui) {
      $('#divContent').width(850 -(ui.size.width - 175));
 });

正如您所看到的,当divResizable变小时,我尝试增加divContent的宽度,反之亦然。但是,使用此代码,divContent并不总是"成长"仅在左侧,它有时延伸到不相关的div的右侧,这不会使调整大小看起来很好。

是否有更复杂的方法输入让这两个div的宽度对应?

我能想到的是将divContent的宽度设置为

(start of irrelevant - divResizable.width) == 850px
  ^ e.g 1025px          ^ e.g. 175px

我将如何使用jQuery完成此操作?

3 个答案:

答案 0 :(得分:15)

Demo - 您的布局可以处理此问题。如果您将 resizable content 一起打包,则只需调整 resizable 的宽度:

HTML

<div id="page">
  <div id="wrapper">
    <div id="resizable">resizable</div>
    <div id="content">content</div>
  </div>
  <div id="irrelevant">irrlevant</div>
</div>

CSS

#resizable  { float:left; width:175px; }
#content    { overflow:hidden; width:auto; }
#wrapper    { float:left; width:1025px; }
#irrelevant { }

答案 1 :(得分:2)

试试这个:

$("#divResizanle").resizable({ handles: 'e' });
    $("#divResizable").bind("resize", function (event, ui) {
        $('#divContent').width(850 -(ui.size.width - 175));
        $('#divContent').css("left",ui.size.width - ui.originalSize.width);
    });

答案 2 :(得分:1)

尝试在宽度设置为两个包含div的总和的div中包装'可分割'和' divContent '