2014-07-04 83 views
-1

我做了這個小小的'蝕刻scetch'類型的東西,我希望每次mouseenter事件觸發時都使不透明度增加一點點。 我得到的一切工作,但我的生活我想不出爲什麼不透明度走一路攀升至1jQuery .css(「opacity」,「+ = 0.1」)表現很奇怪

$(document).on("mouseenter", "td", function() { 
    $(this).css("background","black").css({ 
     opacity: function (index, value) { 
      return parseFloat(value) + 0.1; 
     } 
    }); 
}); 

CSS:

td, tr {  
    opacity:0.5; 
    width:auto; 
    height:auto; 
} 

如果我將css設置爲1,mouseenter事件使其完全變黑。如果它是0.5,mouseenter從0.5開始,在調試時進入'1',但實際上它看起來像0.7。 ,如果我刪除.css("background","black")和/或在CSS中添加background:black;。該代碼沒有做任何事情。

Link to the full code

+0

它提高到1甚至去過去1 http://jsfiddle.net/fiddleyetu/hSgh8/6/ 0.6 0.7000000238418579 0.8000000476837158 0.9000000715255737 1.0000000953674317 1.1 1.1 1.1 – PeterKA

+1

請確保您不會在'1'上方增加'opacity':'function(index,value){var prevVal = parseFloat(value);返回prevVal +(prevVal <1?0.1:0); }' –

+1

''... - 闖入不成熟的咯咯 - –

回答

1

那是因爲你有50%的一套關於tr不透明,所以即使你有100%的不透明度的td,它將由行來褪色。剛剛拆分CSS:

td,tr { 

    width:auto; 
    height:auto; 
} 
td{ 
    opacity : 0 
} 

小提琴:http://jsfiddle.net/hSgh8/5/

+1

哦,我的天啊,這是怎麼想我的....感謝俞這麼多!我正在看它兩個小時 – Miega

0

你只是在更新的td因此,雖然這是完全不透明的不透明性,在tr包含但仍處於50%的不透明度,因此,整個事情是50%