2012-01-22 4 views
1

私はギャラリーページに2つの関数をデプロイします。 1つは画像でリストアイテムを表示し、2つは画像(外部)がロードされないアイテムをチェックして削除するものです。再帰的jquery関数とそれ以降のチェック

最初のものは優れていますが、2番目のものは機能しません。理由を理解できません。誰もがこれを知っていますか?

var r = 0, 
    selector = "ul.display li:hidden:first"; 

function fadeIn($item) { 
    $item.fadeIn(200, function() { 
     var n = $(selector); 
     if (n.length > 0) { 
      fadeIn($(selector)); 
     } else { 
      // add a div 
      $(".navigate").show("fast"); 
      $("#downunder").show("slow"); 
     } 
    }) 
} 


fadeIn($(selector)); 
function myFunc() { 
    $("ul.display li img").each(function(index) { 
     if ((!this.width || !this.height)) { 
      pos3 = $(this).attr("id"); 
      reportrefcam(); 
      $(this).parent().parent().remove(); 
     } 

     $(this).error(function() { 
      pos3 = $(this).attr("id"); 
      reportrefcam(); 
      $(this).parent().parent().remove(); 
     }); 
    }); 
}; 

myFunc(); 
+0

なぜ関数を変数に入れていますか? 'function myFunc(){'はそうするでしょう。 – Lg102

+1

コードは適切にインデントされていると、読みやすくデバッグしやすい**ロット**です。あなたの 'myFunc'コードの字下げは、どこにでもあります。 –

+0

TJ:私はもう少し読みやすいようにマークアップしました – mark

答えて

0

私は問題があると思います。画像に幅と高さがあるかどうかを確認しています...

this.heightは機能しません。

どちらかを使用してください:this.style.heightまたは$(this).height();

+0

myFunc()はスタンドアローンとして動作するために使用されていましたが、現在はフェードインを使用しています。 – mark

+0

詳細については、私の他のコメントを参照してください。 – Matthew