-1

単純な画像ギャラリーに FancyBox を使用していますが、画像 (リンクの子) の SRC 属性からリンク HREF 属性を自動的に設定したいと考えています。ここに私のHTMLがあります:

<ul id="gallery">
  <li><a href="#" rel="group" class="fancybox"><img src="images/01.jpg" alt="" class="picBorder" /></a></li>
  <li><a href="#" rel="group" class="fancybox"><img src="images/02.jpg" alt="" class="picBorder" /></a></li>
  <li><a href="#" rel="group" class="fancybox"><img src="images/03.jpg" alt="" class="picBorder" /></a></li>
</ul>

少し読んだ後、次のようなbeforeLoadコールバックを使用してこれを実行できると思いました。

$(document).ready(function() {
    $(".fancybox").fancybox({
        beforeLoad : function(){
            var url= $(this.element).children("img").attr("src");
            this.href = url
        }
    });
});

残念ながら、これは機能していません。可能であれば、ページの読み込み時にリンクを動的に作成するよりも、Fancybox 内でこれを行うことをお勧めします。

提案をお寄せいただきありがとうございます!!!

編集:明確にするために、コンソールエラーは表示されず、fancyboxのモーダルウィンドウは通常の「要求されたコンテンツを読み込めません。後でもう一度試してください」と表示されます。エラー...これは、コードのトラバース方法に問題があることを示唆しています。

4

1 に答える 1

0

この問題を直接解決できなかったので、リンクを削除することを選択し、ページが読み込まれたときに生成されました。これは、誰かに役立つ場合に使用したコードです。

$(document).ready(function() {
   $('ul#gallery li').each(function() {
      var url =  $(this).children("img").attr("src");
      $(this).children("img").wrap('<a class="fancybox" rel="group" href="' + url + '" />');
   });
   $(".fancybox").fancybox();
});
于 2012-09-07T18:04:51.093 に答える