2016-05-20 33 views
1

我試圖構建一個原型來突出顯示條形圖上的多個點,當用戶單擊它時。我無法選擇多個點。c3單擊並突出顯示多個選擇

如果我嘗試單獨更改樣式,則突出顯示單擊的欄。我想用css類.solid,所以下次用戶點擊它時,我可以查找該類的項目並保留它們。下面的作品,但它的設置不透明度單獨

d3.selectAll(k).style("opacity", 1) 

如果我嘗試添加類像使用.classed不工作。

d3.selectAll(k).classed('solid', true); 

我已經分享了一個plunker鏈接來顯示問題。有人可以讓我知道我可以如何將CSS類應用於多個項目,然後用selectAll訪問項目,每次用戶單擊一個欄以將新項目添加到突出顯示的項目。謝謝你的幫助。

C3 Plunker

回答

1

嗯,這按預期工作: 在你的風格補充一點:

.solid{ 
    opacity:0.3 !important; 
} 

然後在點擊做你暗示。

 onclick: function(e) { 
     //add solid style to all bars. 
     d3.selectAll(".c3-shape").classed("solid", true);//add to all bar this class 
     var k = ".c3-shape-" + e.index; 
     //make the clicked bar opacity 1 
     d3.selectAll(k).classed("solid", false);//remove class solid from the clicked bar. 
     } 

工作代碼here

相關問題