2016-09-14 85 views
1

我在這裏有一個非常廣泛的問題,我希望我能清楚地解釋我到底需要什麼。操縱元素的光標位置

下圖顯示了一個圓圈,它是一個html元素。我想創建一個交互式元素並使用遊標進行遊戲。想象一下,出於某種原因,你不能把你的光標放在圓圈內。我不想只在靠近圓圈的時候隱藏光標,而是以一種能夠以某種磁性吸引力移動光標的方式來操縱光標。所以:如果你把你的光標放在圓上,它將永遠不會接近它並被從這個元素髮送出去。是不知何故可以做到的? Javascript,Angular還是別的?無論如何都創造過類似的東西嗎?

enter image description here

+0

將圓圈從光標移開是否合適?這似乎更現實可能 – hairmot

+0

沒有使用它,但[指針鎖API](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API)可能在這裏相關。 – Frxstrem

+0

@hairmot我想過,但概念恰恰相反。就像一個比喻,沒有任何東西可以穿透這個圈子。甚至沒有光標。 –

回答

1

你可以用下面的方法 隱藏光標永久和使用div元素來代替。 在窗口鼠標移動事件改變該div元素的位置與指針的當前位置。 現在你需要把條件放在這裏,當指針進入圓圈區域時 不要用指針的當前位置更新div元素的位置,而不是用圓圈外的新計算位置更新它。

如果您需要密碼,我可以提供給您。

+0

哇,這聽起來很神奇!我會盡力去做,但如果你有一個例子,將不勝感激! –

+0

嘗試以下鏈接 https://jsfiddle.net/spankajd/5h066zwt/1/ 但對於區域監測到我需要添加一些更多的代碼 你要還? – spankajd

+0

謝謝!這就解決了60%的問題:)但是,它必須是兩個元素:光標(你的圓圈)不能穿透另一個元素,只是在周圍。檢查它 - http://jsfiddle.net/hj57k/3764/ 它可能有一種方法來保持大div的光標(小div),並且不允許它在裏面。 –