坚持用fadeTo

时间:2011-05-05 20:03:18

标签: jquery

我正在尝试淡入/淡出我的超链接。我使用了fadeTo()而不是fadeOut看到fadeOut摆脱了超链接。使用fadeTo,情况并非如此,超链接仍然存在但具有非常低的不透明度值。我想知道是否有可能淡出a.active背景,仍然能够看到文本和身体的基础背景

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
}  

3 个答案:

答案 0 :(得分:1)

这个问题的答案应与this问题的答案大致相同;这与使用<span/>元素做同样的事情有关。

答案 1 :(得分:1)

如果我理解正确,您需要淡化背景颜色以包含不透明度,因此从rgba(255,0,0,1)rgba(255,0,0,0)。这在旧版浏览器中不起作用,因为它们不了解rgba颜色,但对于任何当前的浏览器,它都没问题。 jQuery不懂如何为颜色设置动画,所以你需要使用这样的东西: http://roxority.com/sharepoint-zen/jquery-color-animations-adding-rgba-alpha-channel-support.html与jQuery结合使用。

如果你真的想这样做,使用CSS过渡可能是一个更好的选择,因为几乎每个rgba都支持它们。

答案 2 :(得分: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?

这可能对您有所帮助。