2013-10-14 180 views
0

我有一個問題:拉斐爾拖放

path.drag(onmove, onstart, onend) 

特別是,我已經定義了一個函數是這樣的:

function onmove(x,y) 
{ 
    console.log(x,y); 

} 

我的問題是,x和y是不是相對於我的紙,我怎樣才能得到正確的座標? 我無法使用JQuery。

謝謝

回答

1

看看這個演示,它應該幫助你:

http://jsfiddle.net/CHUrB/

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 
} 
+0

大演示!非常感謝(儘管你喜歡A.S. Roma(我喜歡米蘭,我是意大利人)! – Edge7

1

返回的座標可能相對於窗口。然而,你可以從document.body的使用功能,例如,在 http://www.quirksmode.org/js/findpos.html

描述計算紙張的偏移然後,只需比較onmove座標到你的論文座標。

如果您的頁面允許滾動,您需要考慮這一點。