用jQuery淡入背景图像

时间:2012-09-01 12:52:33

标签: jquery html css internet-explorer fadein

这是我第一次使用jQuery。我正在加载一个大的背景图像,当它加载时,我在三秒钟内褪色。此脚本适用于Firefox和Chrome,但不适用于IE(当然!)。是否有任何失败的安全方式使它在IE中神奇地起作用并且有更好的写作方式吗?

<div class="bgImage" />

$(document).ready(function () {
  // add bg image and fade
  var _image = new Image();
  _image.id = 'newImageId';
  _image.src = "./css/background.jpg";

  $(_image).load(function () {
    $('div.bgImage').css('background-image', 'url(./css/background.jpg)');
    $('div.bgImage').fadeTo(3000, 1);
  });
});

3 个答案:

答案 0 :(得分:8)

使用

 $('div.bgImage').animate({ opacity: 1 }, { duration: 3000 });

假设您开始使用style="opacity: 0;"

答案 1 :(得分:2)

HTML

<body>
  <div class="bgImage"></div>
  ...
</body>

CSS

.bgImage {
  position: fixed;
  top: 0; left: 0;
  right: 0; bottom: 0;
  z-index: 1;
  display: none;
}

的Javascript

$(function() {
  var src = '../css/background.jpg';
  var ele = $('.bgImage');
  var img = $('<img>', {
    src: src
  }).hide().appendTo(ele).load(function() {
    $(this).remove();
    ele.css('background-image', 'url('+src+')').fadeIn(3000);
  });
});

答案 2 :(得分:0)

为此你不需要编写那么多行代码,这个简单的代码将适用于你...

$(document).load(function () {
  $('div.bgImage').css('background-image', 'url(./css/background.jpg)');

  $(document).ready(function () {
    $('div.bgImage').fadeIn(3000);
  });
});