완벽하게 잘 작동하는 지점 (원)을 드래그하지 마십시오. 내가 알아 내지 못하는 유일한 점은 내 포인트의 업데이트 된 위치 (좌표)를 변수에 쓰는 방법입니다. 내가 기능 '이동'으로 그것을 qoutput로Snap SVG (JS) 업데이트 좌표
var s = Snap("#main");
var p1 = {x:50, y:150, new:0};
var p2 = {x:100, y:300};
var radius = 10;
var circle1 = s.circle(p1.x, p1.y, radius);
var circle2 = s.circle(p2.x, p2.y, radius);
var line = s.line(p1.x, p1.y, p2.x, p2.y);
line.attr({
stroke: "#000",
strokeWidth: 5,
strokeLinecap:"round"
});
var move = function(dx,dy) {
this.attr({
// transform: this.data('origTransform') + (this.data('origTransform') ? "T" : "t") + [dx, dy]
cx: p1.x + dx,
cy: p1.y + dy
});
line.attr({
x1: p1.x + dx,
y1: p1.y + dy
});
};
var start = function() {
// this.data('origTransform', this.transform().local);
}
var stop = function() {
p1.x = +line.attr('x1');
p1.y = +line.attr('y1');
}
circle1.drag(move, start, stop);
document.getElementById("calc").innerHTML = p1.x;
html, body {
height: 100%;
background-color: #f3f3f3;
padding: 5px;
}
* {
box-sizing: border-box;
}
#main {
background-color: white;
border: 1px solid gray;
width: 100%;
height: 100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/snap.svg/0.4.1/snap.svg-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="calc"></div>
<svg id="main"></svg>
문제는, 좌표는 한 나에게 사용할 수 있지만이 기능을 '드래그'가 실행되면, 내가 잃을 것 이 정보. 나는 그것을 어떻게 극복합니까?
안녕 로버트, 질문에 형식 문제가있는 것 같습니다. 의도 한 것처럼 포함 된 코드 link과의 링크가 없기 때문입니다. 좌표 매개 변수를 사용할 수 있고 누락 된 경우 "이동"및 "끌기"기능에 대한 코드 스 니펫을 포함 할 수 있다면 도움이됩니다. – MaxPRafferty
감사합니다 맥스, 여기에 JS 문제를 직접 볼 수 있도록 코드 스 니펫을 입력했습니다. – x4ecro