2013-01-14 37 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