2013-01-14 55 views
1

任何人都可以解釋這行代碼如何工作? 它是流圖的一部分,當我將鼠標懸停在一個流上時,其餘部分的不透明度變爲0.2。它真的是?在我不是100%的中間。這行代碼如何工作? D3.js不透明函數

  .attr("opacity", function(d, j) { 
        return j != i ? 0.2 : 1; 
       }); 

謝謝。

回答

3

這是一個三元操作符,條件操作符,短手if,inline if等等。

?:操作符可以用作if ... else語句的快捷方式。它通常用作更大表達式的一部分,其中if ... else語句會很尷尬。例如:

var now = new Date(); 
    var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day."); 

http://msdn.microsoft.com/en-us/library/ie/be21c7hw(v=vs.94).aspx

基本上,如果j不等於i,返回0.2,否則返回1

+0

感謝您的快速響應隊友。乾杯! – Daft