2016-04-11 121 views
2

的絕對位置給出以下假設功能:榆樹 - 一個元素

bowlingBall : Form -> Signal Element 
bowlingBall shape = 
    makeMovable shape 

一個如何將檢索的

bowlingBall greenFilledCircle絕對位置?

我注意到,當我調試一個包含可拖拽元素的編譯頁面時,chrome會跟蹤屬性transform: matrix(...)下的位置 - 這是我們可以使用elm函數進行的操作,還是一些interop需要被僱用?

+0

一個想法是,像上面的'bowlingBall'這樣的定義元素必須通過一系列命令來移動 - 保持更新的記錄應該給出元素的當前位置。 – category

+0

另一個想法是,在JS中做這件事的正確方法顯然是使用'getBoundingClientRect(bowlingBall)' - 然而JS需要被嵌入到互操作的html文件中 - 可能更好地使用上述方法。 – category

回答

1

簡短的回答是,你不能直接做你要求的Element s。有一個pull request可以讓你做到這一點,但它尚未合併。

還有一種不直接檢查Form位置的好方法。

我在過去碰到過類似的問題,我解決這個問題的方式是在我的模型中保存我的各種物品的位置,並對這個位置進行所有位置操作。

這並不完美;尤其是在Mouse使用的座標系統與Form使用的座標系統之間的繁瑣轉換變得更加惱人,尤其是如果您的Form不會出現在窗口左上角的畫布上。

+0

謝謝,巧合的是公關在你回答的時間約1分鐘的時間內被碰撞了。 – category