Я ищу общий код (javascript), который будет работать с пользовательским интерфейсом jquery для ограничения перемещения (перетаскивания) div в треугольнике.constrain внутри треугольника
похоже на это (http://stackoverflow.com/questions/8515900/how-to-constrain-movement-within-the-area-of-a-circle), но треугольник, а не круг.
Я предпочел бы треугольник быть определен как 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 позволяет использовать все, кроме квадратов. – Duopixel
@Duopixel на самом деле это возможно, используя событие 'drag'. Я отвечу ниже. –