您好我想向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 ? ' ' + title : '') + '</span><span stye="color:#FFF; cursor:pointer;" onclick="javascript:popUpWindow("<?php echo base_url();?>selectproductoptions/'+ deneme +'.html",10,10,660,550);">+ add to cart</span>';
}
});
deneme总是未定义
我想出了如何做到这一点,而不是试图分别得到deneme我已经在像urlofimage.jpg这样的href之后去了deneme?DenemeComesHere
并且抓住deneme我已经使用了jquerys split函数
var deneme = currentOpts.href.split('?');
谢谢...
答案 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