我知道這個問題已被問到,但答案總是,animate()處理跨瀏覽器差異之間不透明度:0和過濾器:alpha(不透明度= 0)不是所以在這種情況下.. 。jquery動畫不透明不工作跨瀏覽器
我有這個div
.entry
{
opacity:0.4;
filter:alpha(opacity=0);
}
和這個jQuery
<script>
$(document).ready(function(){
setTimeout(function(){
$('.entry').animate({opacity:'1'},700);
},1000);
});
</script>
文本在I.E中保持不可見alpha(不透明度= 0),在Chrome中工作,並且Firefox 可以在sample domain上查看。
編輯 我已經試過報價和unquoting不透明度:「1」,不利於
淡入()不是一種選擇,因爲我需要保持在div相同的高度,我不能更改CSS太要保持相同的高度,因爲它弄亂了我的手風琴菜單。
由於這是結束了工作X瀏覽器
<script>
$(document).ready(function(){
$('.entry').css({'opacity':0, 'filter':'alpha(opacity=0)'});
setTimeout(function(){
$('.entry').animate({opacity:'1'},700);
},1000);
});
</script>
不知道爲什麼你必須使用引號'opacity':0, 'filter':'alpha(opacity=0)'
這樣,但這只是它的工作方式。
也我不得不把它放在一個不同的jQuery高亮效果後,我有一個ID#元素。當它被放置在我的頭文件中的那個函數之前時,它保持那個工作。也許與css()函數有關?
你可以試試'$('。entry')。fadeIn(700);'? – lonesomeday 2011-06-10 17:18:32
取消'1'。這可能是罪魁禍首。 – 2011-06-10 17:19:59
而不是用CSS設置'.entry'的初始不透明度,讓jQuery也處理。當您正確使用它時,jQuery在不透明度問題方面做得非常出色。 – Sparky 2011-06-10 17:25:33