加载时淡入背景图像

Fade in background image on load

我想使用 jquery 加载一张随机背景图片。下面是我正在使用的脚本,它在刷新时显示随机背景但没有淡入效果。如何创建 fadeIn 效果 onload。注意:我不想循环随机图片。

$(document).ready(function() {
  var images = ['01.jpg', '02.jpg', '03.jpg', '04.jpg', '05.jpg', '06.jpg', '07.jpg', '08.jpg', '09.jpg', '10.jpg'];

  $('.about').css({'background-image': 'url(../img/bg/' + images[Math.floor(Math.random() * images.length)] + ')'});
  ('.about').fadeIn(1000);
});

$(document).ready(function() {
  var images = ['http://funmozar.com/wp-content/uploads/2014/09/Beautiful-Yellow-Birds-06.jpg', 'http://petblaster.com/images/Birdwall.jpg', 'http://www.nscblog.com/wp-content/uploads/2014/04/birds-314989.jpg'];

  var url = images[Math.floor(Math.random() * images.length)];
  var img = new Image();
  img.onload = function(){
    $('.about').css({'background-image': 'url('+url+')', 'background-size' : 'contain'});
    $('.about').fadeIn(1000);
  }
  img.src = url;
  
  
});
.about{
  width: 400px;
  height: 400px;
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="about"></div>

这将使用 new Image 预加载图像。附上onload。当他 onload 触发时,它会将背景设置为 .about div 并将其淡入。

我更改了 url 以实际显示一些结果。