Gog*_*ogo 8 jquery fade background-image
我想在页面的标题区域中创建幻灯片.它应该每10秒更改一次背景图像,并具有漂亮的淡入淡出效果.而且由于我已经将jQuery用于其他东西,我也想用它.
所以我的标记只是:
<div id="header">
<!--other stuff here...-->
</div>
Run Code Online (Sandbox Code Playgroud)
我的CSS目前是:
#header {
background: url('images/header_slides/slide_1.jpg') no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
所以现在我想要的是在10秒后它会变为
#header {
background: url('images/header_slides/slide_2.jpg') no-repeat;
}
Run Code Online (Sandbox Code Playgroud)
具有良好的慢褪色效果.
Hus*_*ein 14
我在如何用旋转背景图像填充浏览器窗口时回答了类似的问题?.您可以淡化背景颜色,但不能淡化背景图像.您必须将图像放在<img>标签中并默认隐藏它们display:none;.提供您的图像position:absolute,z-index:-1使您的图像像背景图像一样,并且落后于其他所有图像.
function test() {
$("img").each(function(index) {
$(this).hide();
$(this).delay(10000 * index).fadeIn(10000).fadeOut();
});
}
test();
Run Code Online (Sandbox Code Playgroud)
Rob*_*ell 12
您可以使用过渡使用CSS3淡化背景图像.
请访问https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_CSS_transitions查看
供您使用,设置jQuery以更改背景图像,但使用CSS应用过渡样式.任何时候背景改变,它将根据CSS3样式转换.
#header
{
background: url('images/header_slides/slide_1.jpg') no-repeat;
transition: background 0.5s linear;
-moz-transition: background 0.5s linear; /* Firefox 4 */
-webkit-transition: background 0.5s linear; /* Safari and Chrome */
-o-transition: background 0.5s linear; /* Opera */
}
Run Code Online (Sandbox Code Playgroud)