2013-10-18 48 views
0

我開發了一款關於流行病的遊戲和互動學習工具。它已經用D3js的強制指導圖形佈局實現。增加移動用戶的點擊半徑?

在開發過程中,我沒有計劃從移動用戶那裏得到很多熱情。事後看來,這是一個明顯的錯誤估計。

有沒有辦法增加移動用戶「可接受點擊」的範圍?或者當我檢測到用戶在移動平臺上時,我堅持增加節點大小?

例子:http://vax.herokuapp.com

+1

你可以把你的節點到更大的透明圈即反應點擊/點,或有一個全球性的事件處理程序,確定當前事件的位置是否足夠接近到一個節點。 –

+0

謝謝,我已經研究了幾種方法來解決這個問題。看來你的解決方案是最簡單的。有沒有辦法將這些對象綁定/處理爲一個元素? – Ells

+1

使用包含兩者的'g'元素將數據綁定到。 –

回答

1

你可以把你的節點到更大的透明圈即反應點擊/點。如果您將兩個圓圈放入同一個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() { ... }); 
+0

像魅力一樣工作。只要交通流量減少,它就會開始生效。 – Ells

0

你應該讓你的繪圖響應移動佈局。一個簡單的方法是調整視框中尺寸:

Whats the best way to make a d3.js visualisation layout responsive?

+0

謝謝,我已經在動態窗口大小調整的viewbox上做了一些工作,但是我在使用所有瀏覽器時都遇到了麻煩。我正在檢測移動設備並限制節點數量。 – Ells