这是我第一次使用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);
});
});
答案 0 :(得分:8)
使用
$('div.bgImage').animate({ opacity: 1 }, { duration: 3000 });
假设您开始使用style="opacity: 0;"
答案 1 :(得分:2)
<body>
<div class="bgImage"></div>
...
</body>
.bgImage {
position: fixed;
top: 0; left: 0;
right: 0; bottom: 0;
z-index: 1;
display: none;
}
$(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);
});
});