2010-04-23 62 views
2

我有一個簡單的svg圖,我正在嘗試爲該圖創建一個簡單的 工具提示彈出窗口,但我無法找出如何正確設置工具提示的位置 。如何獲取正確位置的svg內的html彈出框(使用javascript)

我有一個的CSS在我的彈出窗口的div是絕對的:

#popup { 
    position: relative 

當創建在SVG節點我鉤狀的監聽器:

p.setAttributeNS(null,"onmousemove","parent.drawPopup(evt)"); 

現在我的問題,在drawPopup callack,我想不出如何 正確設置座標,我試過類似於下面的 在drawPopu函數中:

pop = document.getElementById("popup"); 
pop.innerHTML = popupText; 
pop.style.visibility='visible'; 
pop.style.left=evt.pageX + 'px'; 

但pageX似乎是相對於svg.graph,所以我需要以某種方式抵消它?

人們通常如何處理這樣的問題?有什麼建議麼?

回答

3

您可能想要絕對定位工具提示,您的CSS規則指定相對,並使用鼠標x,y座標將其放置在圖形頂部,因爲工具提示總是由鼠標指針觸發。

此鏈接到quirksmode.org會有一些有用的信息,向下滾動頁面或搜索鼠標位置,你會發現在準確計算鼠標x,y座標的一些技巧。

-1

看看Raphael。

http://raphaeljs.com/

優良的矢量JavaScript庫。

+0

你至少可以解釋他如何用拉斐爾做到這一點,而不是僅僅提升它。 – Bob 2010-04-23 21:30:05

+1

同意。其實,我只是找到了這篇文章,因爲我正在尋找一種方式來與拉斐爾一起彈出...並且沒有簡單的方法可以這麼做! – mlissner 2010-08-05 17:20:37

相關問題