0

load()画像が読み込まれているかどうかを確認する関数を使用しています。もしそうなら、私は他の2つの関数を使用しています。コードは次のようになります。

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

someFunction1()正常に動作しますがloadIcons()、CSSファイルでbackground-imageを宣言し、この画像が表示されないクラスがあります(まだロードされていないように)

loadIcons():

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

これらの要素(divspan)は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 に答える