2013-06-25 47 views
3

即使在縮放或向左或向右移動後,如何動態獲取raphael js元素的y值,我想要在近處顯示div到我的元素,當我顯示element.getBBox()值時,我發現即使移動元素或放大/縮小它們也不會改變,我使用的代碼是用於獲取x值的代碼如下所示:動態獲取raphaeljs元素的x和y值(即使它移動了)

x = (myElement.getBBox().x+myElement.getBBox().x2)/2; 
x+=$("#container").offset().left; 
y = (myElement.getBBox().y+myElement.getBBox().y2)/2; 
y+=$("#container").offset().left; 

和使我的DIV(工具提示)的代碼是:

$("#myTooltip").css({"left":x+"px","top":y+"px"}).show(); 

注:它的工作原理,當我做同樣的事情用鼠標座標(使用x=e.pageX;y=e.pageY;),但在這種情況下,我想這樣做,當我在頁面點擊另一個按鈕

感謝的提前

回答

1

我也是使用拉斐爾,並找到我認爲你需要在你的項目。
爲了瞭解如何xy可以動態顯示,看這個DEMO

當你拖動對象,你可以看到他們的座標動態變化。好運

1

解決方案是使用myElement.attr('x')myElement.attr('y')而不是myElement.getBBox().xmyElement.getBBox().y,謝謝A.S.羅馬,別忘了打個招呼托蒂

編輯: 如果有人有同樣的問題,我發現直到現在是使用jQuery和拉斐爾,闡釋了最佳的解決方案:所有的 首先,我需要在添加一個ID的元素的定義是這樣的:myElement.node.id='myUniqueId'然後你可以像這樣使用jQuery訪問元素x = $("#myUniqueId").offset().lefty = $("#myUniqueId").offset().top