我正在尝试淡入/淡出我的超链接。我使用了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
}
答案 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?
这可能对您有所帮助。