0

こんにちは、余分なデータを facybox のタイトル関数に挿入したい deneme は、成功せずに挿入したい変数です。

<a rel="example_group" title="Title comes here" data-deneme="<?php echo $galleryitem['idphotos']; ?>">sdasd</a>

$("a[rel=example_group]").fancybox({
            'transitionIn'      : 'none',
            'transitionOut'     : 'none',
            'titlePosition'     : 'over',
            'titleFormat'       : function(title, currentArray, currentIndex, currentOpts) {
                var deneme=$(this).data('deneme');

                return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span><span stye="color:#FFF; cursor:pointer;" onclick="javascript:popUpWindow(&quot;<?php echo base_url();?>selectproductoptions/'+ deneme +'.html&quot;,10,10,660,550);">+ add to cart</span>';
            }
        });

deneme は常に undefined になります

urlofimage.jpg?DenemeComesHere のように、href の直後に deneme を追加して、deneme を個別に取得しようとする代わりに、その方法を見つけました。

そしてdenemeをつかむために、私はjquerys分割関数をそのように使いました

var deneme = currentOpts.href.split('?');

ありがとうございました...

4

1 に答える 1

3

fancybox v1.3.4を使用している場合

$(this)残念ながら、fancyboxを呼び出した場所から要素を参照するために(どちらも)使用できないため(thisこれは設計上のバグだとしましょう)、セレクター全体を参照する必要があります$("a[rel=example_group]")。現在の要素をフィルタリングするには、次のようなAPI関数 currentIndexを介して渡されるパラメーターを使用します。titleFormat

'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
                var deneme = $("a[rel=example_group]").eq(currentIndex).data('deneme');
                return '...etc'
}

... また :

'titleFormat': function(title, currentArray, currentIndex, currentOpts) {
                var deneme = $("a[rel=example_group]:eq("+currentIndex+")").data('deneme');
                return '...etc'
}

...あなたが好むものは何でも。

fancyboxv2.x+を使用している場合

$(this)を使用して参照することができます$(this.element)

の場合、次のようなtitleコールバックを使用して変数を追加します。beforeShow

$("a[rel=example_group]").fancybox({
  // other API options
  beforeShow: function(){
    var deneme = $(this.element).data('deneme');
    this.title = 'some html' + this.title + 'other html' ... etc
  }
});
于 2012-12-17T06:52:04.360 に答える