在IE8中延伸图像背景与拉伸BG(Javascript和CSS)

时间:2012-04-03 00:01:15

标签: javascript css internet-explorer-8 fading stretching

我需要创建一个渐变的背景图像,以延伸填充浏览器。以下代码在IE8及以下版本的每个浏览器中都能正常运行。 IE8的问题在于我可以让它褪色,但不能拉伸或拉伸但不会褪色 - 不能同时使用。

THE JAVASCRIPT

$(document).ready(function(){

    var imgArr = new Array( // relative paths of images
        'images/bg01.jpg',
        'images/bg02.jpg',
        'images/bg03.jpg',
        'images/bg04.jpg',
        'images/bg05.jpg'
    );


var preloadArr = new Array();
var i;


/* preload images */
for(i=0; i < imgArr.length; i++){
    preloadArr[i] = new Image();
    preloadArr[i].src = imgArr[i];
}

var currImg = 0;
changeImg();
var intID = setInterval(changeImg, 7500);

/* image rotator */
function changeImg(){
$('#bgFade').animate({opacity: 0}, 1000, function(){
$(this).css({
    'background':'url(' + preloadArr[currImg++%preloadArr.length].src +') center 49px',
    '-webkit-background-size':'cover',
    '-moz-background-size':'cover',
    '-o-background-size':'cover',
    'background-size':'cover',
    'filter':'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+ preloadArr[currImg++%preloadArr.length].src +'\', sizingMethod=\'scale\''
    });
}).animate({opacity: 1}, 1000);
}

});

这是我在IE8(及以下)中添加的线,但它打破了淡入淡出的功能。如果IE8支持“背景大小”但不支持它会很棒。

'filter':'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+ preloadArr[currImg++%preloadArr.length].src +'\', sizingMethod=\'scale\''

CSS / HTML

#bgFade {
    position:fixed;
    top:0;
    left:0;
    height:100%;
    width:100%;
    z-index:-1;
}

<div id="bgFade"></div>

我希望有一个解决方案可以在IE8中拉伸和淡化背景图像。如果解决方案仅适用于IE8但不适用于IE7或更低版​​本,则可以。 IE8及以上版本是我唯一关注的问题。提前谢谢!

2 个答案:

答案 0 :(得分:1)

从我可以看到你在html元素上使用background属性。如果您尝试使用图像元素并将其分层放在内容后面,该怎么办?我认为你应该能够设置宽度和高度没问题(即使在IE8中),然后使用jQuery的.fade()或不透明度动画。

答案 1 :(得分:0)

此过滤器值字符串看起来不太正确。

'filter':'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+ preloadArr[currImg++%preloadArr.length].src +'\', sizingMethod=\'scale\''

尝试:

'filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + preloadArr[currImg++%preloadArr.length].src + "'), sizingMethod='scale'"
相关问题