0

わかりました、これはまったく意味がありません。とてもばかげています。私には理解できません。

だから、私は写真を作る機能を持っています。

function mk_image(src, alt, title, link) {
       img = new Image();
        img.src = src;
        img.id='ShowC_Img_'+count_image;
        count_image+=1;
        img.width = 960;
        img.height = 320;
        img.alt = alt;
        img.style.display='none';
        img.setAttribute('border',"0");
        return [img,'url('+src+')',link];
    }

次に、この方法で 13 要素の配列を作成します。

var items = [/* mk_image('image_source', 'alt', 'title', 'link'), etc... */

次に、配列を実行して、次のようにします。

for (i=0; i<items.length;i++){
              $(items[i][0]).one('load', function(){ 
//blablabla
}).each(function(){
                if(this.complete || (jQuery.browser.msie && parseInt(jQuery.browser.version) == 6)) 
                $(this).trigger("load");})
            .error(function(){alert('shit');}); 
        }

そして、何を推測します。IE で 8 枚の画像が表示されることもありますが、すべての画像が表示されないことがあります........ Google chrome では 100% 完璧に動作します。

何か案は?

4

1 に答える 1

2

少し大きくなったように見えるので、次を使用してもう少し詳細にデバッグしてみてください(src属性を直接設定した場合と設定しない場合があります):

function mk_image(src, alt, title, link) {
    img = new Image();
    img.src = src;
    img.id='ShowC_Img_'+count_image;
    count_image+=1;
    img.width = 960;
    img.height = 320;
    img.alt = alt;
    img.style.display='none';
    img.setAttribute('border',"0");
    return [img,'url('+src+')',link];
}

var items = [/* mk_image('image_source', 'alt', 'title', 'link'), etc... */

function onLoad(img) {
  console.log(img || this); // check this output (are all images displayed?)
}

for (i=0; i<items.length;i++){
  $(items[i][0]).one("load", onLoad)
  .each(function(){
    if (this.complete || this.readyState === 4 || this.readyState === "complete") {
      onLoad(this);
    }
  })
  .error(function(){alert('shit');}); 
}
于 2012-04-30T16:31:39.787 に答える