2011-06-12 24 views
0

我有一些幫助,瞭解如何使用jQuery來動畫一些文本。其中一位用戶建議我使用.fadeIn()函數。當我看到這個看起來它符合我的需要,但我有一個問題:如何使用jQuery .fadeIn()一次淡入多個事物?

這是我現在有:

if (correct == "true") { 
    $('#ft2').html('Correct'); 
    $('#ft2').css('color', 'Green') 
    $('#ft2').css('border-color', 'Green') 
} else { 
    $('#ft2').html('Incorrect'); 
    $('#ft2').css('color', 'Red') 
    $('#ft2').css('border-color', 'Red') 
} 

一樣從我的最後一個問題。現在我想首先將顏色和邊框的不透明度設置爲不可見,然後在同一時間將css顏色和邊框顏色屬性淡入到新顏色。是否有可能使.fadeIn()一次褪色多件事?有沒有人試過這樣做?再次

感謝已提供給我的所有幫助

回答

3

fadeIn將在整個元素褪色(其所有部件,包括邊框,背景色,前景色,等等),而不僅僅是單個位的。 fadeInfadeOut通過修改整個元素的不透明度來工作。因此,元素個別方面的衰落概念不適用於fadeInfadeOut

如果你想要去的淡出/淡入的方式,你真的想爲你在你前面的問題(這似乎是一個很長的時間)表示,它採取了整整一秒方法如下:

var color, text; 

if (correct == "true") { // Do you really mean to compare to a string here? 
    text = 'Correct'; 
    color = 'green'; 
} 
else { 
    text = 'Incorrect'; 
    color = 'red'; 
} 

$('#ft2').fadeOut(500, function() { 
    $(this).text(text).css({ 
     'color': color, 
     'border-color': color 
    }).fadeIn(500); 
}); 

Gratuitous live example

淡出當前內容的元素(花費半秒; 500毫秒),當淡出完成時,更改內容和顏色,然後在另一半秒(500毫秒)內將其淡入。你可以用不同的方式加權,250ms後淡出,然後超過750ms,儘管我建議使用更短的總時間。

但我想我可能會去與其中一個人的顏色插件之一answering your previous question指出你。

+0

感謝您的回答。我相信你的解決方案會好起來的,因爲我會做什麼淡入淡出整個元素。 – Alexandre 2011-06-12 07:45:12

+0

@瑪裏夫:很好。我已經添加了一個生動的例子FWIW – 2011-06-12 07:47:27

+0

仍然檢查出來。感謝您的全力幫助 – Alexandre 2011-06-12 07:58:14