将可拖动包含设置为坐标 [x1, y1, x2, y2]
Setting the draggable containment to coordinates [x1, y1, x2, y2]
白色div是父容器,红色div是子容器,也是可拖动的div。
现在我不希望红色 div 边缘在拖动时进入父级 div 所以我尝试将可拖动包含设置为 x
和 y
坐标.
parDivLeft = $('div#parent').offset().left;
parDivTop = $('div#parent').offset().top;
parDivWid = $('div#parent').width();
parDivHei = $('div#parent'). height();
dragDivW = $('div#drag').width();
dragDivH = $('div#drag').height();
coorX = dragDivW - parDivWid;
coorY = dragDivH - parDivHei;
x1 = parDivLeft - coorX;
x2 = parDivLeft + parDivWid + coorX;
x1 = parDivTop - coorY;
x2 = parDivTop + parDivHei + coorY;
$('div#drag').draggable({containment:[x1,y1,x2,y2]);
但是我没有达到我想要的。红色 div 边缘仍然进入我不想要的白色 div。请有人帮助我
您可以创建一个 div
元素并将其作为包含元素附加到正文中。
//Using values from your code
newDivH = x2 - x1;
newDivW = y2 - y1;
$newDiv = $('<div>').css({
position:'absolute',
left:y1+'px',
top:x1+'px',
width: newDivW+'px',
height: newDivH+'px',
zIndex:-5
})
$('body').append($newDiv);
$('div#drag').draggable({containment:$newDiv);
白色div是父容器,红色div是子容器,也是可拖动的div。
现在我不希望红色 div 边缘在拖动时进入父级 div 所以我尝试将可拖动包含设置为 x
和 y
坐标.
parDivLeft = $('div#parent').offset().left;
parDivTop = $('div#parent').offset().top;
parDivWid = $('div#parent').width();
parDivHei = $('div#parent'). height();
dragDivW = $('div#drag').width();
dragDivH = $('div#drag').height();
coorX = dragDivW - parDivWid;
coorY = dragDivH - parDivHei;
x1 = parDivLeft - coorX;
x2 = parDivLeft + parDivWid + coorX;
x1 = parDivTop - coorY;
x2 = parDivTop + parDivHei + coorY;
$('div#drag').draggable({containment:[x1,y1,x2,y2]);
但是我没有达到我想要的。红色 div 边缘仍然进入我不想要的白色 div。请有人帮助我
您可以创建一个 div
元素并将其作为包含元素附加到正文中。
//Using values from your code
newDivH = x2 - x1;
newDivW = y2 - y1;
$newDiv = $('<div>').css({
position:'absolute',
left:y1+'px',
top:x1+'px',
width: newDivW+'px',
height: newDivH+'px',
zIndex:-5
})
$('body').append($newDiv);
$('div#drag').draggable({containment:$newDiv);