我有一个问题:
path.drag(onmove, onstart, onend)
特别是,我定义了一个这样的函数:
function onmove(x,y)
{
console.log(x,y);
}
我的问题是 x 和 y 与我的论文无关,我怎样才能获得正确的坐标?我不能使用 JQuery。
谢谢
我有一个问题:
path.drag(onmove, onstart, onend)
特别是,我定义了一个这样的函数:
function onmove(x,y)
{
console.log(x,y);
}
我的问题是 x 和 y 与我的论文无关,我怎样才能获得正确的坐标?我不能使用 JQuery。
谢谢
返回的坐标可能是相对于窗口的。但是,您可以使用诸如 http://www.quirksmode.org/js/findpos.html中描述的函数来计算论文与 document.body 的偏移量
然后只需将 onmove 坐标与您的纸张坐标进行比较。
如果您的页面允许滚动,您将需要考虑到这一点。
看看这个演示,它应该可以帮助你:
move = function (dx, dy)
{
// Move main element
var att = this.type == "ellipse" ? {cx: this.ox + dx, cy: this.oy + dy} :
{x: this.ox + dx, y: this.oy + dy};
this.attr(att);
// Move paired element
att = this.pair.type == "ellipse" ? {cx: this.pair.ox + dx, cy: this.pair.oy + dy} :
{x: this.pair.ox + dx, y: this.pair.oy + dy};
this.pair.attr(att);
// more on the jsfiddle site
}