我在网站的所有页面上的容器上都有背景图像,但主页上有两个图像,他们希望这些图像能够滚动/淡出。
我在这里使用了这篇文章的答案:CSS background-image slideshow并产生了以下内容:
<script>
var images=new Array('imageurl1','imageurl2');
var nextimage=0;
doSlideshow();
function doSlideshow(){
if(nextimage>=images.length){nextimage=0;}
$('.hometopcontentarea')
.css('background','url("'+images[nextimage++]+'") no-repeat center')
.fadeIn(500,function(){
setTimeout(doSlideshow,1000);
});
}
</script>
<div class="hometopcontentarea col-xs-12 col-sm-12" style="height: 624px; margin-bottom: 20px;">
查看来源时图像路径是正确的,但不幸的是没有发生任何事情并且图像没有加载。
我可能做错了什么?
提前致谢。
答案 0 :(得分:0)
我认为你正在寻找这个:
var images = [
"http://www.independent.ie/incoming/article29989530.ece/ALTERNATES/h342/Li%20Ann%20Smal%20-App.jpg",
"http://im.rediff.com/news/2015/dec/24tpoty20.jpg"
]
var nextimage = 0;
function doSlideshow(){
if(nextimage>=images.length){nextimage=0;}
$('.hometopcontentarea')
.css({
background: 'url('+ images[nextimage++]+') no-repeat center',
opacity:0,
})
.fadeTo('slow',1);
setTimeout(doSlideshow,4000);
}
doSlideshow();
(demo)
fadeIn
函数的问题在于你不能淡化1个元素2次。一旦它已经可见,你需要重置不透明度以允许第二个淡入。