0

HTML:

<div class="left">
    <a rel="group" href="images/reveal.jpg" title="Lorem ipsum dolor." class="fancybox"><img src="images/images3.jpg"></a>
    <a rel="group" href="images/reveal2.jpg" title="Lorem ipsum dolor." class="fancybox"><img src="images/images1.jpg"></a>
    <a rel="group" href="images/reveal3.jpg" title="Lorem ipsum dolor." class="fancybox"><img src="images/images2.jpg"></a>
</div>

JS:

<script type="text/javascript">
$(document).ready(function() {
    $(".fancybox").fancybox({
        afterLoad: function() {
            this.inner.append('<p>TEST</p>');
            this.content = '<p>TEST2</p>' + this.content.html();
        }
    });
});
</script>

上記では、Firebug で「this.inner is undefined.」というエラーが表示されます。

明らかに何かが欠けていますが、それが何であるかを確認するにはあまりにも長い間これを見つめてきました。どんな助けでも大歓迎です。

編集: 提案をありがとう。

私はそれらのすべてを試しましたが、役に立ちませんでした。私は使用しようとしていた方法を捨ててしまったので、単に div を呼び出して、そこでコンテンツのスタイルを設定します。

最終結果は、http: //jsfiddle.net/NjNMC/の HTML のようになります。その例の JS は使用されません。それがこの混乱の始まりです。

4

5 に答える 5

2

Instead of this.inner.append('<p>TEST</p>'); try $(this).html('<p>TEST</p>');

于 2012-05-28T19:07:00.230 に答える
0

ファンシーボックス ウィンドウにこの html を挿入したいと思うでしょう。あなたは te キーワードthisでそれを参照していません$('#fancybox-outer') 。これは文書化されていない使用法であることに注意してください。

于 2012-05-28T19:12:30.340 に答える
-1
 $("a[href$='.jpg'],a[href$='.png'],a[href$='.gif']").attr('rel', 'gallery').fancybox({
     openEffect: 'none',
     closeEffect: 'none',
     afterLoad: function () {
         this.outer.prepend('<a href="index.html"> <img src="img/logo.svg" class="logoShow"></a>');
         this.outer.append('<div id="btnExpand"><img src="img/nav_menu_expand.png" input type="submit"/></div>');
     }
 });
于 2015-03-17T07:12:43.280 に答える
-1

試す

$(document).ready(function() {
    $(".fancybox").fancybox({
        afterLoad: function() {
            $(".fancybox")[0].inner.append('<p>TEST</p>');
            //$(".fancybox")[0].content = '<p>TEST2</p>' + $(".fancybox")[0].content.html();
        }
    });
});
于 2012-05-28T19:05:24.823 に答える