Я написал свою собственную кодировку, как в этом рабочем примере.jQuery Draggable div Позиция неуместна
Есть 2 проблемы, которые мне нужны некоторые указания на:
перетаскиваемую ДИВ не должен быть в состоянии тащить наверх и прикоснуться к границе. Он должен просто остановиться в точке, где минимальная высота верхнего div.
min-height:50px;
перетаскиваемая ДИВ фактически не слиплись с желтыми нижними делами. Он первоначально расположен сверху нижнего div. Это означает, что три div: верхний div, перетаскиваемый div и нижний div должны быть выровнены по вертикали.
JS:
$(function() {
$("#draggable").draggable({
drag: function() {
var position = $("#draggable").position();
var topPos = position.top;
var divHeight = 500;
var div1H = topPos;
var div3H = divHeight - topPos;
$('#div1').height(div1H);
$('#div3').height(div3H);
},
axis: "y",
containment: "#divAll"
});
});
HTML:
<div id="divAll">
<div id="div1">
<table id="tbl1">
<tr>
<td>top top top</td>
</tr>
</table>
</div>
<div id="draggable" class="handler_horizontal"></div>
<div id="div3">
<table id="tbl2">
<tr>
<td>bottom bottom bottom</td>
</tr>
</table>
</div>
</div>
CSS:
#divAll {
height:500px;
width:500px;
border:1px solid blue;
position: relative;
}
.handler_horizontal {
width:100%;
height: 8px;
cursor: row-resize;
left: 0;
background: url(http://jsfiddle.net/img/handle-h.png) 50% 3px no-repeat;
border:1px solid grey;
margin-bottom:50px;
position:absolute;
}
#div1 {
height:60%;
width:100%;
border:1px dotted green;
overflow:auto;
min-height:50px;
max-height:450px;
background-color: #eee;
}
#div3 {
width:100%;
height:37%;
border:1px dotted red;
overflow:auto;
min-height:50px;
max-height:450px;
background-color: yellow;
}
#tbl1, #tbl2 {
word-wrap:break-word;
}
Я никогда не знаю, что я могу изменить локализацию до значений, может быть, я не читал его очень тщательно. Большое спасибо! –
+1 хороший, я искал что-то вроде сдерживания в документах, но не видел его – apaul