我開發了一款關於流行病的遊戲和互動學習工具。它已經用D3js的強制指導圖形佈局實現。增加移動用戶的點擊半徑?
在開發過程中,我沒有計劃從移動用戶那裏得到很多熱情。事後看來,這是一個明顯的錯誤估計。
有沒有辦法增加移動用戶「可接受點擊」的範圍?或者當我檢測到用戶在移動平臺上時,我堅持增加節點大小?
我開發了一款關於流行病的遊戲和互動學習工具。它已經用D3js的強制指導圖形佈局實現。增加移動用戶的點擊半徑?
在開發過程中,我沒有計劃從移動用戶那裏得到很多熱情。事後看來,這是一個明顯的錯誤估計。
有沒有辦法增加移動用戶「可接受點擊」的範圍?或者當我檢測到用戶在移動平臺上時,我堅持增加節點大小?
你可以把你的節點到更大的透明圈即反應點擊/點。如果您將兩個圓圈放入同一個g
元素並將數據綁定到該元素,則額外的代碼將會很小。
var gs = d3.selectAll("g").data(data).enter();
gs.append("circle").attr("cx", ...).attr("r", 5);
gs.append("circle").attr("cx", ...).attr("r", 40).attr("opacity", 0)
.on("click", function() { ... });
像魅力一樣工作。只要交通流量減少,它就會開始生效。 – Ells
你應該讓你的繪圖響應移動佈局。一個簡單的方法是調整視框中尺寸:
Whats the best way to make a d3.js visualisation layout responsive?
謝謝,我已經在動態窗口大小調整的viewbox上做了一些工作,但是我在使用所有瀏覽器時都遇到了麻煩。我正在檢測移動設備並限制節點數量。 – Ells
你可以把你的節點到更大的透明圈即反應點擊/點,或有一個全球性的事件處理程序,確定當前事件的位置是否足夠接近到一個節點。 –
謝謝,我已經研究了幾種方法來解決這個問題。看來你的解決方案是最簡單的。有沒有辦法將這些對象綁定/處理爲一個元素? – Ells
使用包含兩者的'g'元素將數據綁定到。 –