0

我的 CSS:

#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 */ 
}

我的查询:

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

HTML:

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

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

4

2 回答 2

1

In JavaScript, the window.onload event fires after all the images has been loaded, so, I think you may use following instead of document

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

DEMO. Don't have IE8 to test it but it should work.

于 2013-09-26T16:51:11.450 回答
1

load将事件与图像一起使用有很大的注意事项。来自jQuery 文档

与图像一起使用时加载事件的注意事项

开发人员尝试使用 .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 中看到的最常见的是最后一点,即图像已经加载到浏览器缓存中。

于 2013-09-26T16:40:24.153 回答