如何覆盖新版花式框中的标题?
$(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
}
});
});
我试过这个,但不知道如何将变量作为索引。
答案 0 :(得分:2)
您可以使用回调来更新标题,例如:
$(".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
}
});
答案 1 :(得分:0)
我已将图像编号添加到标题中,如下所示:
beforeShow : function() {
this.title = '<span class="imgNo">Bild ' + (this.index + 1) + ' von ' + this.group.length + '</span>' + (this.title ? '' + this.title + '' : '');
}
这很好但是div.fancybox-wrap的大小和偏移的计算出错了: 使用我的图像编号,每个图像在灯箱中都有一个标题,但并非所有图像都从缩略图标题标签中获得“真实”标题。 但是这些尺寸只能用那些“真正的”标题来计算。
在beforeLoad()
中添加图片编号的工作原理也有问题。
有人知道如何解决计算问题吗? 我还没有在fancybox代码中找到它,所以我可以在那里修复它,但我更喜欢在回调函数中执行它而不是通过更改源代码。