我已经为此寻找答案但找不到它......所以希望有人可以帮助我。我正在尝试创建一个包含在圆形(而不是正方形)中的可拖动 div(使用 jquery ui)。现在,我已经将包含设置链接到它的父 div,但无论我尝试什么......它仍然允许可拖动元素进入父方形 div 的角落。我已经尝试设置父 div 的边框半径,使其为圆形而不是方形(但这可能只是一个 css 的东西,并且不会影响实际的 div 形状)。有谁知道如何将可拖动的 div 约束到一个圆圈?谢谢,安迪
var containment_radius = 50;
$(this.dragobject).draggable({
drag: function() {
var position = $(this.dragobject).position();
var result = limit(position.left, position.top, containment_radius, containment_radius);
if (!result.limit) {
$(this.dragobject).x = result.x + "px";
$(this.dragobject).y = result.y + "px";
}
console.log(result);
}
});
function limit(x, y, x1, y1) {
var dist = distance([x, y], [x1, y1]);
if (dist <= containment_radius) {
return {x: x, y: y};
} else {
return {limit: true};
}
}
function distance(dot1, dot2) {
var x1 = dot1[0],
y1 = dot1[1],
x2 = dot2[0],
y2 = dot2[1];
return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));
}