我想在图像加载时显示背景图像(loading.gif)。图像加载到感谢名单下面的代码:不显示图像加载器
var item = $('<li><a class="black-links" href="' + data.url + '#comments" title="' + data.title + '"><img class="loading"></a></li>');
var img = item.find('img');
img
.hide()
.one('load', function() { $(this).removeClass('loading').attr('alt', data.title).attr('width', data.width).attr('height', data.height).fadeIn(); })
.attr('src', data.src)
.each(function() { if (this.complete) $(this).trigger('load'); });
所以这是一个“加载”类在开始添加到图像,然后这个类被删除,一旦图像完全加载(和显示)。所以CSS代码:
.loading { background: #FFF url(../img/loading.gif) center center no-repeat; }
麻烦的是:加载图像,然后它的显示,但是当图像加载从不显示加载器(由此可以看出here)。 我以为我应该删除“.hide()”...但后来我认为图像将部分显示在它完全加载之前,不是吗?
谢谢你的帮助!
装入IMG第一(用新的图像),然后追加它。这样,您可以在加载时显示微调器。 – mddw 2012-04-28 11:49:16
对不起,但我不明白我应该改变什么...... – user1296220 2012-04-28 11:53:16
那么,如果你创建一个图像,加载它然后附加它,你不必隐藏,所以你可以显示微调。其他解决方案:使用一些CSS将微调器添加到另一个元素中。 – mddw 2012-04-28 11:56:24