滑动/褪色背景图像

时间:2016-04-21 12:17:25

标签: javascript jquery

我在网站的所有页面上的容器上都有背景图像,但主页上有两个图像,他们希望这些图像能够滚动/淡出。

我在这里使用了这篇文章的答案: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;">

查看来源时图像路径是正确的,但不幸的是没有发生任何事情并且图像没有加载。

我可能做错了什么?

提前致谢。

1 个答案:

答案 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次。一旦它已经可见,你需要重置不透明度以允许第二个淡入。