我正在使用d3切換功能。當我點擊並且再次點擊時,我想讓一個可見的對象隱藏,它會再次可見。如何切換此元素?
現在我得到這個功能:
.on("click", function(d) { object1.style("visibility", "hidden");}
)
目前,我只能點擊和對象會隱藏,但我不能切換。 我發現這個很好的例子,可以做到這一點:http://bl.ocks.org/d3noob/5d621a60e2d1d02086bf
在這個例子中的代碼來切換看起來像這樣:
.on("click", function(){ // Determine if current line is visible
var active = blueLine.active ? false : true,
newOpacity = active ? 0 : 1;
// Hide or show the elements
d3.select("#blueLine").style("opacity", newOpacity);
d3.select("#blueAxis").style("opacity", newOpacity);
// Update
whether or not the elements are active
blueLine.active = active; })
.text("Blue Line");
我有一個關於代碼的問題。您可以定義一個新的變量
var active = blueLine.active ? false : true
,你檢查,如果當前狀態是活動的,例如,如果是的話, var active = false
?
這意味着下一行:
newOpacity = active ? 0 : 1
類同在這個例子中newOpacity = false ? 0 : 1
意味着newOpacity = 1
?那是對的嗎?然後,在這條線上:
blueLine.active = active
轉到blueLine.active = false
?希望有人能幫助我擺脫這種困惑,非常感謝!
感謝,赫拉爾:
你可以得到一個布爾一樣的效果!你可以給我一個簡短的解釋,這是什麼意思? '()=>' –
看看這裏:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions –