将额外数据注入fancybox

时间:2012-12-17 05:55:55

标签: jquery fancybox

您好我想向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总是未定义

我想出了如何做到这一点,而不是试图分别得到deneme我已经在像urlofimage.jpg这样的href之后去了deneme?DenemeComesHere

并且抓住deneme我已经使用了jquerys split函数

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

谢谢...

1 个答案:

答案 0 :(得分:3)

如果使用fancybox v1.3.4

不幸的是,您不能使用$(this)this}来引用您调用fancybox的元素(假设它是设计错误),因此您必须引用整个选择器{{1 }}。要过滤当前元素,请使用通过$("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'
}

......无论你喜欢什么。

如果使用fancybox v2.x +

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

来引用$(this)

对于$(this.element),请使用回调title添加变量,如:

beforeShow