jQuery-ui可拖动和可调整大小的div无法从左侧正确调整大小

时间:2013-12-02 19:47:52

标签: javascript jquery html css jquery-ui

我正在尝试制作一个可调整大小且可拖动的div,它处于固定位置。 当我从右边或底部调整它时,div看起来很好;然而,当我从左侧或顶部调整大小时,可拖动的div似乎会增加相反位置的高度/重量。

这是代码: HTML

<div id="draggableDiv" >
  <div id="resizableDiv">
    <div id="content"><div id="contentTitle"></div></div>
  </div>
</div>

JS:

 $('#draggableDiv').draggable({
    handle: '#contentTitle'
  });
  $("#resizableDiv").resizable({
    handles: 'n, e, s, w, ne, se, sw, nw'
  });

CSS:

  #draggableDiv {
     position:fixed !important;
     width:auto;
     height:auto;
     left:100px;
     top: 100px;
   }

   #resizableDiv {
     height: 200px;
     width: 200px;
   }

   #content { height:100%; width:100%; }

如何才能使draggable div正确调整大小?

2 个答案:

答案 0 :(得分:1)

您需要调整外部容器#draggableDiv的大小。如果你这样做,那么还需要修改你的css以将此div设置为所需的尺寸。例如,

http://jsfiddle.net/RkNT4/

<强> HTML

<div id="draggableDiv">
    <div id="resizableDiv">
        <div id="content">
            <div id="contentTitle">content title</div>
            conteeeeeent
        </div>
    </div>
</div>

<强> JS

$('#draggableDiv').draggable({
    handle: '#contentTitle'
});
$("#draggableDiv").resizable({
    handles: 'n, e, s, w, ne, se, sw, nw'
});

<强> CSS

/*colors were added for the example to separate each div*/
    #draggableDiv {
        position:fixed !important;
        width:auto;
        height:auto;
        left:100px;
        top: 100px;
        background-color:green;
        height:200px;
        width:200px;
    }
    #contentTitle{
        background-color:red;
        cursor:move;
    }
    #resizableDiv {
        height: 100%;
        width: 100%;
    }
    #content {
        height:100%;
        width:100%;
        background-color:blue;
    }

答案 1 :(得分:1)

你可以应用jquery draggable&amp;可调整为父容器,这很好。

$('#draggableDiv').draggable({
   handle: '#contentTitle'
}).resizable({
   handles: 'n, e, s, w, ne, se, sw, nw'
});

BTW我做了一个Jsfiddle,你可以检查一下 http://jsfiddle.net/kQtMF/