0

ファンシーボックスを使用して、小さな写真をリンクで囲んで大きな写真を表示します。これはうまくいきます。ツールチップ jQuery アプリには小さな問題がありました。そのため、var 'title_from_alt' を取得し、それを使ってファンシーボックスのタイトルを設定しました。あまり関係ありません。

さて、今私は AJAX 呼び出しを介してページを取得しています。部分的に、クラス「fancyboxfoto」との新しいリンクがあります。しかし、これらの新しく追加されたリンクには、fancybox が添付されていません。

.on や .live などについて読みましたが、イベント (「クリック」など) が必要なようですが、以下のコードでは「クリック」イベントが表示されません。何をすべきか!?

jQuery(document).ready(function($){

//fancybox
var title_from_alt = $("a.fancyboxfoto").attr("alt");
$("a.fancyboxfoto").fancybox({
    'titlePosition'     : 'over',
    'onComplete'    :   function() {
        $("#fancybox-wrap").hover(function() {
            $("#fancybox-title").show();
        }, function() {
            $("#fancybox-title").hide();
        });
    },
    'overlayColor'      : '#000',
    'title'         : title_from_alt,
    'overlayOpacity'    : 0.9,
    'showCloseButton' : 'true',
    'autoScale' : 'true',
    'autoDimensions' : 'true'
});
});

HTML

<a class="fancyboxfoto" title=" Tirzo Martha, Shipwrecked, 2002 " href="/images/Shipwrecked.jpg">
  <img class="tiptip" vspace="12" hspace="12" align="left" title=" Tirzo Martha, Shipwrecked, 2002 " src="/images/Shipwrecked-kl.jpg">
</a>
4

2 に答える 2

0

fancybox v1.3.x は、動的に追加された要素をサポートしていません。

ここで回避策を見つけることができます(例が含まれています)

ところで、その方法を使用する場合、 「AJAX を介して新しい DOM 要素を取得した後、fancybox を再度初期化する」必要はありません。

于 2012-07-09T19:37:48.217 に答える
0

AJAX 経由で新しい DOM 要素を取得した後、fancybox を再度初期化する必要があります。

于 2012-07-09T19:31:51.427 に答える