Fancybox v2覆盖/格式标题

如何覆盖新版花式框中的标题?

$(document).ready(function() { $(".photogalleryLightbox li a").fancybox({ helpers:{ title: { type: 'inside', beforeShow: function(opts) { console.log('beforeShow title helper'); }, }, buttons : {} }, beforeShow: function() { console.log('beforeShow'); // var obj = $(currentArray[currentIndex]); // from prev. version // if (obj.next().length) return obj.next().html(); // from prev. version } }); }); 

我试过这个,但不知道如何将变量作为索引。

您可以使用回调来更新标题,例如:

 $(".photogalleryLightbox li a").fancybox({ beforeLoad : function() { this.title = 'My Custom Title'; }, helpers: { title: { type: 'inside', beforeShow: function(opts) { console.log('beforeShow title helper'); }, }, buttons : {} }, beforeShow: function() { console.log('beforeShow'); // var obj = $(currentArray[currentIndex]); // from prev. version // if (obj.next().length) return obj.next().html(); // from prev. version } }); 

我已将图像编号添加到标题中,如下所示:

 beforeShow : function() { this.title = 'Bild ' + (this.index + 1) + ' von ' + this.group.length + '' + (this.title ? '' + this.title + '' : ''); } 

这很好但是div.fancybox-wrap的大小和偏移的计算出错了:使用我的图像数字,每个图像在灯箱中都有一个标题,但并非所有图像都从缩略图标题标签中获得“真实”标题。 但是尺寸只能用那些“真实”标题来计算。

beforeLoad()添加图像编号也可以,但同样的问题。

有谁知道如何解决计算? 我还没有在fancybox-code中找到它,所以我可以在那里修复它,但我更喜欢在回调函数中执行它而不是通过更改源代码。