我有一个动态加载图像的.NET应用程序。我有一个加载gif显示,直到图像加载。然后显示图像。
加载gif图片大小为16x11
。
加载的图像都调整为80px
宽度。
此代码适用于IE8-10(但不适用于IE11):
$(imagesToLoadList).each(function () {
var image = $(this);
var realSrc = image.attr('real-src');
var demandedImageIndex = parseInt(categoryId) + (scrollCount * 10) + index;
image.unbind();
image.bind('load', { ImageIndex: demandedImageIndex }, ImageLoaded);
image.attr('src', realSrc);
index++;
});
function ImageLoaded(event) {
//after image loaded
}
在IE 11中,图片会加载,但不会调整为80px
并保持 16x11。再次触发事件时,它将正确调整大小。 (App有一个滑块,因此每次更改幻灯片时都会调用load事件。)
有关如何解决此问题的任何想法?
仅供参考,图像是否被缓存无关紧要。按照IE8 bug
的思路思考答案 0 :(得分:1)
似乎即使使用jQuery 1.8.0
/ 1.8.3
,它在IE 11中运行良好(现在最新的稳定版本为1.11.3
/ 2.1.4
。点击预览加载完整版 - 尺寸图片 - JSFiddle:
var $img = $('img');
$img.one('click', function() {
$img.one('load', function() {
this.width = 320;
this.height = 240;
console.log('Image loaded');
});
this.src = $(this).data('large-src');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<img src="http://oi59.tinypic.com/nxtdsp.jpg"
data-large-src="http://oi57.tinypic.com/fegkeb.jpg"/>
如果您要提供有关错误的工作代码段,也许我可以帮助您。