使用jQuery淡入淡出背景图像?

时间:2011-04-03 23:16:50

标签: javascript jquery html css background

到目前为止,我已经尝试了很多事情,但没有成功:

<script type="text/javascript">
var x = 0;

while (true) {
    /* change background-image of #slide using some variation
    of animate or fadeIn/fadeOut with or without setTimeout */
    x++;
}
</script>

有什么想法吗?

4 个答案:

答案 0 :(得分:22)

您可以淡化背景颜色,但不能淡化背景图像。解决此问题的方法是将您的图片标记为<img>标记,并默认隐藏它们display:none;。为您的图片position:absolutez-index:-1提供图片,使其像背景一样,落后于其他一切。

以下是一个接一个地逐渐消失的图像的快速示例。

<强> HTML

<img src=".." />
<img src=".." />

<强> CSS

img{
 position:absolute;
 z-index:-1;
 display:none;
}

<强>的jQuery

function test() {
    $("img").each(function(index) {
        $(this).hide();
        $(this).delay(3000* index).fadeIn(3000).fadeOut();
    });
}
test();

检查http://jsfiddle.net/RyGKV/

处的工作示例

答案 1 :(得分:2)

你可以淡化背景图像! 进出!

jQuery的:

$('#yourdiv').animate({opacity: 0}, 0).css("background-image", "url(image.jpeg)").animate({opacity: 1}, 2500);

编辑:

这会使整个div消失,而不是背景图像。

答案 2 :(得分:1)

虽然您无法直接淡入background-image。您可以淡入仅包含background-image ...

的单独元素

Here's an example

答案 3 :(得分:0)

我来到这里是因为我正在寻找基于<select>选项更改的淡化背景图像的解决方案。我将我已经写过的内容与上面的Hussein的jsfiddle结合起来,并提出了这个jsfiddle.net/v4BMC/

这最初将两个相同的图像堆叠在一起。更改<select>后,顶部图像的样式属性将被删除,底部图像的src将更改,顶部图像将淡出以显示底部图像。 (顶部图像以style="display:none"结束,需要在操作开始时删除,否则不起作用。)

希望这对其他人有用,而不是太无关紧要,不能包含在这里!