2013-09-26 26 views
0

我的CSS:.fadeIn()不火的IE浏览器版本低于9

#midC { 
    display: none; 
    background: transparent; 
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF)"; /* IE8 */ 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF); /* IE6 & 7 */ 
} 

我的JQuery:

$(document).ready(function() { 
    $('#midC').load(function() { 
     $('#midC').fadeIn('slow'); 
    }); 
}); 

HTML:

<img src="theImages/topLogo_temp.png" id=midC /> 

上面的代码工作CSS和IE> 9.有没有办法使它的版本低于版本9?有时出现图像,有时不在IE8上。

+1

你使用的是什么jQuery版本? – Itay

+0

版本'1.7.1' – Si8

+0

'#midC'是什么元素类型,以及为什么在'document'已经'准备好'之后,它会'加载'? – Itay

回答

1

对图像使用load事件有很大的注意事项。从jQuery docs:加载事件的

注意事项与图像一起使用时

的常见挑战开发者尝试使用.load() 快捷方式是执行功能来解决时的图像(或集合的 图片)已完全加载。有几个已知的注意事项 这应该注意。它们是:

It doesn't work consistently nor reliably cross-browser 
It doesn't fire correctly in WebKit if the image src is set to the same src as before 
It doesn't correctly bubble up the DOM tree 
Can cease to fire for images that already live in the browser's cache 

我与IE 8中,最常见的是最后一点,在图像已加载到浏览器的缓存。

+0

一旦LOAD功能被删除,图像加载正常。谢谢。 – Si8

1

JavaScript,已加载的所有图像后window.onload事件触发,所以,我想你可以使用以下代替document

$(window).load(function() { 
    $('#midC').fadeIn('slow'); 
}); 

DEMO. 不必IE8来测试它,但它应该工作。

+0

删除LOAD事件也有窍门...感谢您的答案。 UPVOTED。 – Si8

+1

@ SiKni8,很高兴知道:-) –

相关问题