我有一张建筑物的背景图片(拍摄于多年前)。5秒后,我想淡入同一建筑物的第二个背景图像(最新图片)。保留第二个背景图片,直到页面被重新加载。使用CSS、javascript、jquery和lazyload插件可以做到这一点吗?
发布于 2015-07-04 16:42:53
我试着在没有JavaScript的情况下做到这一点。
CSS看起来像这样:
body {
background: url('path_to_your_background_image_1');
animation: change_background 1s ease-out 5s 1 forwards;
}
@keyframes change_background {
to {
background-image: url('path_to_your_background_image_2');
}
}
下面是一个http://jsfiddle.net/u9jw7k5q/1/示例
发布于 2015-07-04 17:27:25
以下是JS + CSS的解决方案。这可能会对你有所帮助。(在Chrome中测试)
var timer;
function swapImage() {
var slide = document.getElementById('slide');
slide.className = "fade-in";
slide.src = "http://www.w3schools.com/images/w3cert.gif";
clearTimeout(timer);
}
timer = setTimeout("swapImage()", 5000);
@keyframes fadeIn {
to {
opacity: 1;
}
}
.fade-in {
opacity: 0;
animation: fadeIn .5s ease-in 1 forwards;
}
<img height="200" id="slide" src="http://www.w3schools.com/html/html5.gif" width="400" />
https://stackoverflow.com/questions/31218481
复制相似问题