1

プロジェクトで PHP + jQuery + Fancybox を使用しています。動的に作成される複数のタブがあります。すべてのタブヘッダーに星のアイコンがあり、それらをクリックするとファンシーボックスが開きます。

私のタブは基本的に、次の動的コードを使用した ul-li です。

$("#tabs").append("<li class='current'><a class='tab' id='tab_" +
    tabCnt + "<a href='#loginBox_div' class='login_link'> <img src='star.png' style='cursor:pointer'/> </a>" + "<a href='javascript:void(0);' class='remove'>x</a></li>");

私のインデックスファイルで:

$(document).ready(function() {

        $("a.login_link").fancybox({
            'titlePosition'     : 'inside',
            'transitionIn'      : 'none',
            'transitionOut'     : 'none'
        });     

    });

問題は、最初のタブのスター アイコンをクリックすると、loginBox_div (fancybox) が適切に開くことです。しかし、2 番目のタブが作成され、星のアイコンをクリックすると、クラスが 2 番目以降のタブに適用されているにもかかわらず、fancybox が開きません。JavaScriptエラーもありません。道を教えてください。ありがとうございました。

4

1 に答える 1

0

私は解決策を手に入れました:)
新しいタブを開くたびに、fancyboxを初期化する必要がありました。つまり、次のfancyboxコードを記述しなければなりませんでした。最初のタブはインデックスファイルですでに初期化されているため、これを行う必要がないことを確認してください。

$("a.login_link").fancybox({
            'titlePosition'     : 'inside',
            'transitionIn'      : 'none',
            'transitionOut'     : 'none'
        }); 
于 2010-03-09T09:35:27.280 に答える