2011-05-05 121 views
1

我想淡入/淡出我的超鏈接。我已經使用fadeTo()而不是fadeOut看到fadeOut擺脫了超鏈接。使用fadeTo,情況並非如此,超鏈接仍然存在,但具有非常低的不透明度值。我在想,如果有可能淡出a.active背景,仍然能夠看到的文字和身體的基本背景堅持fadeTo

var fade_to = function() {  
    $("a.active").fadeTo("slow", 0.0001); 
}; 

$(document).ready(function() { 
    $("a.active").css("display", "none").fadeIn(2000); 
    var intervalId = window.setInterval(fade_to, 5000); 
}); 
a.active { 
    background: #ff0000; 
    width: 246px; 
    height: 47px; 
    padding-top: 3px;  
    color: #ffffff; 
} 
body { 
    background: #000000 
} 

回答

1

的這個問題的答案應該是差不多一樣的回答this的問題;這涉及到與<span/>元素做同樣的事情。

1

如果我正確理解你,你需要淡化背景顏色以包含不透明度,所以從rgba(255,0,0,1)rgba(255,0,0,0)。這在舊版瀏覽器中不起作用,因爲它們不瞭解RGB顏色,但對於任何當前瀏覽器,它都可以。 jQuery不理解如何爲顏色設置動畫,因此您需要使用如下所示的內容: http://roxority.com/sharepoint-zen/jquery-color-animations-adding-rgba-alpha-channel-support.html與jQuery一起使用。

如果你真的想這樣做,使用CSS轉換可能是一個更好的選擇,因爲他們幾乎在每一個地方,RGBA是支持。

0

你可以完全刪除a.active背景或將其設置爲transparent

這可能會做你想要什麼:

$("a.active").css("background", "none").fadeTo("slow", 0.0001); 

或者

$("a.active").css("background", "transparent").fadeTo("slow", 0.0001); 

雙方將有同樣的效果,但不會褪色的背景了。

這是其中提到衰落背景的另一個問題。 How do I animate a background color to transparent in jQuery?

這可以幫助你更多。

+0

我該如何實現這一目標? – seun 2011-05-05 20:34:01

+0

更新了我的答案。 – Tomgrohl 2011-05-06 07:18:53