我想在加载图片时显示背景图片(loading.gif)。图像将thanx加载到以下代码:
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()”......但是我认为图像会在它完全加载之前部分显示,不会吗???
Thanx为你提供帮助!
答案 0 :(得分:0)
这是因为你在加载时隐藏它
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/>').attr('src', data.src).load(function() {
img.removeClass('loading').attr('src', data.src).hide().fadeIn();
});
答案 1 :(得分:0)
window.onload = function()
{ document.getElementById("loading").style.display = "none"; }