2012-02-09 9 views
0

flikrフィード内の画像をリンクしようとしています。私はJavascriptにかなり新しい問題に走っています。私はそれを作った理由は、あなたが.split()関数を使って複数のタグを入力できるようにするためです。私はこれがHTMLの文字列でできることを知っている.....しかし、私はそれらを理解することができないにもかかわらず、より簡単な方法が必要であることを知っている...あなたもあまりにも私のコードを改善する気軽に私は可能な限り短くしています。FlickrフィードからJqueryで画像をリンクする

$(function() { 
     new WebApp(); 
     function WebApp() { 



      this.form = $("<form><input id='tags' placeholder='tags'><input type='submit' value='submit'></form>").appendTo("header"); 


      this.form.submit(function(){ 
       $("#images").empty(); 
       var splitTest = $("#tags").val(); 
       //alert(splitTest); 
       var arr = splitTest.split(","); 
       //alert(arr.length); 

       for(var i = 0; i <= arr.length; i++){ 
        $.getJSON(
         "http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", 
        { 
         tags: arr[i], 
         tagmode: "any", 
         format: "json" 
        }, 
         function(data) { 
          $.each(data.items, function(i,item){ 
           $("<img/>").attr("src", item.media.m).appendTo("#images"); 
           if (i == 20) return false; 
          }); 
         } 
        ); 
       } 

       return false; 
      }); 
     } 

答えて

0

このようにコードを改善することができます。コード内の他の場所でWebAppが必要ないように見えますが、匿名関数を使用してページロード時に実行します。

$(function(){ 
    $("<form><input id='tags' placeholder='tags'><input type='submit' value='submit'></form>") 
    .appendTo("header"); 
    .submit(function(){ 
     $("#images").empty(); 
     var arr = $("#tags").val().split(","); 
     for(var i = 0; i <= arr.length; i++){ 
      $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", 
      { 
       tags: arr[i], 
       tagmode: "any", 
       format: "json" 
      }, 
      function(data) { 
       $.each(data.items, function(i,item){ 
        $("<img/>").attr("src", item.media.m).appendTo("#images"); 
        return !(i == 20); 
       }); 
      }); 
     } 
     return false; 
    }); 
}); 
関連する問題