2012-12-25 25 views
0

您好,我無法使用JavaScript遞增opacitybackground-color:hsla() div。這是我使用的代碼...JavaScript增量++不透明度在每次點擊

$("#Opacity").button().click(function() { 
var x = 0.1; 
var Opacity = ++x; 
$("#TimeDate, #Weather, #ticker, #Pages").css("background-color", "hsla(0,0%,0%,"+Opacity +")"); 
     Cookie.set('bgo', $('#TimeDate, #Weather, #ticker, #Pages').css('background-color'), 365); 
     return false; 
}); 

最終的結果,我想是不透明度爲上一次設定開始,然後爲它由0.1每個按鈕被點擊,直到它的時間增加達到1,然後返回到0,然後再次開始每次增加0.1,等等。

由於提前, 克里斯

+1

''++與整數工作,所以使用整數併除以十,並在功能之外聲明初始值。 – adeneo

+0

謝謝你的答案,它也可以用你的方式,但一個波紋管對我想要的東西很有效:) – ChristopherStrydom

回答

5

使用此代碼不透明度始終是1.1

修正功能,下面:

Opacity = 0.1 

$("#Opacity").button().click(function() { 

    Opacity = (Opacity==1) ? 0 : (Opacity + 0.1); 
    $("#TimeDate, #Weather, #ticker, #Pages").css("background-color", "hsla(0,0 %,0%,"+Opacity +")"); 
    Cookie.set('bgo', $('#TimeDate, #Weather, #ticker, #Pages').css('background-color'), 365); 
    return false; 
}); 
+0

非常感謝,但是現在如何讓它回到0? – ChristopherStrydom

+0

它已經在'Opacity =(Opacity == 1)行中完成了? 0:(不透明度+ 0.1);'。這是一個簡短的形式,如果(不透明度== 1)不透明度= 0其他不透明度=不透明度+ 0.1' – AlecTMH

+0

啊,但它似乎並沒有爲我工作:/它不回到0它只是保持每次點擊增加0.1。我讓它輸出價值,所以我可以看到它在做什麼。在頁面刷新按鈕重置爲0,但我希望它開始的地方停止:/編輯:它看起來它從來沒有實際上得到1?它變爲0.99 *和3 = 3.04 8 = 0.79 * 9 = 0.89 *其中*意味着重複出現 – ChristopherStrydom