У меня этот код:
HTML
<div class="draggable_main_container">
<div class="draggable_container">
<div class="draggable">
<div class="minus">
label
</div>
</div>
</div>
</div>
CSS
.draggable_main_container
{
width:134px;
overflow:auto;
position:relative;
height:350px;
}
.draggable_container
{
height:300px;
position:relative;
overflow:visible;
background-color:blue;
}
.draggable
{
background-color:red;
height:134px;
width:134px;
cursor:pointer;
position:relative;
}
.draggable .minus
{
position:absolute;
left:50px;
bottom:-20px;
width:32px;
height:20px;
background-color:yellow;
}
JQuery
$(".draggable").draggable({
axis: "y",
containment: 'parent'
});
сейчас на Firefox проблем нет! В Chrome / Safari блокируется, когда он получает дно контейнера.
Затем, если я нажимаю и снова прокручиваю вниз, div перемещается над контейнером. Когда он получает высоту основного контейнера (350 пикселей), он также создает полосы прокрутки.
Что ж, избежать полос прокрутки легко, просто добавьте overflow:visible;
к draggable_main_container
.
Но мне действительно нужно блокировать перетаскиваемый элемент, когда он получает родительское основание. Как мне это сделать?
Я думаю, что проблема в позиции: абсолютный элемент, прикрепленный к перетаскиваемому элементу (.minus
; фактически, если я его удалю, все работает ...)