0

我正在使用load()函数来检查图像是否已加载。如果是,那么我正在使用其他两个功能。代码如下所示:

$('#img-1').load(function(){        
     someFunction1();
     loadIcons();       
});

someFunction1()工作正常,但loadIcons()有类,它在 CSS 文件中声明了背景图像并且这个图像是不可见的(就像它还没有加载一样)

加载图标():

function loadIcons(){
        $('#gallery').append('<div class="icon" id="icon-1">');
        $('#icon-1').append('<span></span>');
        $('#icon-1').css({
            'top': parseInt(top),
            'left': parseInt(left)
        });
}

这些元素 ( div, span) 在 Firebug 中是可见的,但.icon类中的图像是不可见的。知道如何解决吗?

    $(document).ready(function(){

    someFunction1()
    {       
            $('#spinner').remove();
            $('#spinner-transparent').css({
                'opacity' : 0
            });
    }

    function loadIcons()
    {
        //code above
    }


    $('#img-1').one('load', function(){     
          someFunction1();
          loadIcons();       
        }).each(function() {
  if(this.complete) $(this).load();
});

注意:微调器是一个内部<div>加载.gif

4

1 回答 1

0

我曾经在使用 $.load 时遇到过麻烦,最后却做了这样的事情:

var img_load_callback = function () {...};
var img = new Image();
img.onload = img_load_callback; // this must be set before img.src
img.src = 'whatever.jpg'; 
于 2012-09-10T16:26:01.627 回答