我正在尋找一個通用的代碼(JavaScript),這將與jQuery UI的工作,約束一個三角形內的div的移動(拖動)。約束在一個三角形內
類似於這個(但是一個三角形,而不是一個圓圈)。
我寧願被定義爲rapheal SVG這樣的三角形...
(function() {
Raphael.fn.triangle = function (cx, cy, r) {
r *= 1.75;
return this.path("M".concat(cx, ",", cy, "m0-", r * .58, "l", r * .5, ",", r * .87, "-", r, ",0z"));
};
var paper = Raphael(document.getElementById("triangle"), "100%", "100%");
var triangle = paper.triangle(100,100,90);
triangle.attr("fill", "#444444");
triangle.attr("stroke", "#444444");
$("#draggable").draggable({ containment: "#triangle svgnode", scroll: false });
期待的解決方案。
我想指出,如果更容易,可拖動元素也可以是svg節點。
我不認爲jQuery UI的遏制允許除正方形之外的任何東西。 – Duopixel 2011-12-21 15:01:01
@Duopixel實際上這可以通過使用'拖'事件。我會在下面給出答案。 – 2013-04-21 15:29:53