2012-02-13 9 views
-1

20枚の画像のセットに対してFancybox2を使用しようとしていますが、画像は何の影響もありません。私はFancyBox2スクリプトから「要求されたコンテンツは、後でもう一度試してloaded.Pleaseすることはできません」というエラーメッセージが出ページの画像にFancyBox2を正しく適用する方法

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Flickr Feed</title> 
    <link href="../_css/site.css" rel="stylesheet"> 
    <link rel="stylesheet" href="../fancybox2/source/jquery.fancybox.css" type="text/css" media="screen" /> 

    <style> 
     .image { 
      float: left; 
      padding: 10px; 
      border: solid 1px white; 
      margin: 0 30px 30px 0; 
     } 
     .image:hover { 
      border-color: red; 
      background-color: rgb(204,204,204); 
     } 


    </style> 

    <script src="../_js/jquery-1.7.1.min.js"></script> 

    <!-- Add fancyBox --> 

    <script type="text/javascript" src="../fancybox2/source/jquery.fancybox.pack.js"></script> 

    <script> 
     $(document).ready(function() { 
      var URL = "http://api.flickr.com/services/feeds/groups_pool.gne"; 
      var ID = "[email protected]"; 
      var jsonFormat = "&format=json&jsoncallback=?"; 

      var ajaxURL = URL + "?id=" + ID + jsonFormat; 
      $.getJSON(ajaxURL,function(data) 
        { 
         $('h1').text(data.title); 
         $.each(data.items,function(i, photo) 

           { 
            var photoHTML = '<span class="image">'; 
            photoHTML += '<a class="fancybox" rel="gallery1" href="' + photo.media.m.replace('_m', '_b') + '">'; 
            photoHTML += '<img src="' + photo.media.m.replace('_m', '_s') + '"></a>'; 


            $('#photos').append(photoHTML); 

           } 


         );//end each 

         $('#photos').fancybox(
           { 
            openEffect:'none', 
            closeEffect:'none' 
           } 
         ); 
        } 

      );//end get JSON 


     }); // end ready 
    </script> 

</head> 
<body> 
<div class="wrapper"> 
    <div class="header"> 
     <p class="logo">JavaScript <i>&</i> jQuery <i class="mm">The<br>Missing<br>Manual</i></p> 
    </div> 
    <div class="content"> 
     <div class="main"> 
      <h1>Flickr Images</h1> 
     <div id="photos"></div> 
     <br class="clearLeft"> 
     </div> 
    </div> 
    <div class="footer"> 
     <p>JavaScript &amp; jQuery: The Missing Manual, by <a href="http://sawmac.com/">David McFarland</a>. Published by <a href="http://oreilly.com/">O'Reilly Media, Inc</a>.</p> 
    </div> 
</div> 
</body> 
</html> 

: は、ここに完全なコードです。

+2

「機能しません」は問題の説明ではなく、カプセル化エンティティとしてのこの質問にはデータがありません。 –

+0

トピックの編集時にこれを指摘していただきありがとうございます。 – skiabox

+0

やや良い。 "私はできない"というのはまだ有用性とはまったく違う。そして、私たちは質問の中でコードを望んでいます_。あなたのためだけの問題ではありません - 彼らは皆同じ​​問題を抱えている可能性があります。そのリンクが切れたとき、この質問はもはや他の誰かを助けるために何も言わないでしょう。 –

答えて

0

fancybox初期化コードをgetJSONのメッシュコールバック内に移動すると、すべての画像が追加されるためです。そして、fancyboxプラグインのセレクタが間違っています。それは#photosであるはずです。これを試して。

 $.getJSON(ajaxURL,function(data) 
       { 
        $('h1').text(data.title); 
        $.each(data.items,function(i, photo) 

          { 
           var photoHTML = '<span class="image">'; 
           photoHTML += '<a class="fancybox" rel="gallery1" href="' + photo.media.m.replace('_m', '_b') + '">'; 
           photoHTML += '<img src="' + photo.media.m.replace('_m', '_s') + '"></a>'; 


           $('#photos').append(photoHTML); 

          } 


        );//end each 
        $('#photos').fancybox(
         { 
          openEffect:'none', 
          closeEffect:'none' 
         } 
        ); 
       } 

     );//end get JSON 
+0

問題は残ります... – skiabox

+0

ページにjsエラーがありますか? – ShankarSangoli

+0

私はいつもJavascriptコンソールでエラーをチェックしてからhelp.Butを実行しますが、chrome javascriptコンソールはエラーを生成しません。 – skiabox

関連する問題