为fancybox图像/视频添加标题

时间:2013-07-01 00:39:34

标签: javascript jquery html html5 fancybox

我目前有fancybox显示应该显示的所有正确图片/视频。但是,我似乎无法显示每次调用fancybox时关联的标题。

我正在使用 Fancybox V2.1.5

$(document).ready(function(){
$(".fancyYoutube").live('click',function(){
$.fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'titleShow' : 'true',
'speedIn' : '100',
'width' : 680,
'height' : 395,
'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
'type' : 'swf',
'swf' : {
'wmode' : 'transparent',
'allowfullscreen' : true,
},
beforeLoad: function() {
this.title = $(this.element).attr('caption');
}
});
return false;
});
});

我在所需的部分中使用caption=,但它仍然没有显示标题文字:(

我也在使用最新的JQuery插件。

任何帮助都会很棒,谢谢!

编辑:问题已解决:

$(document).ready(function(){
$(".fancyYoutube").live('click',function(){
$.fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'title' : this.title,
'speedIn' : '100',
'width' : 680,
'height' : 395,
'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
'type' : 'swf',
'swf' : {
'wmode' : 'transparent',
'allowfullscreen' : true
}
});
return false;
});
});

仅需title : this.title,

1 个答案:

答案 0 :(得分:0)

如果我记得很清楚(我也在这里查看过:http://fancybox.net/blog)你需要这些参数

'titlePosition'         : 'inside',
'titleFormat'       : formatTitle

其中formatTitle是附加标题

的函数
function formatTitle(title, currentArray, currentIndex, currentOpts) {
    return '<div id="tip7-title"><span><a href="javascript:;" onclick="$.fancybox.close();"><img src="/data/closelabel.gif" /></a></span>' + (title && title.length ? '<b>' + title + '</b>' : '' ) + 'Image ' + (currentIndex + 1) + ' of ' + currentArray.length + '</div>';
}

我觉得这里有问题

this.title = $(this.element).attr('caption');

尝试使用类似这样的东西(任何地方都不适合使用适当的ID)

$(this).html( $(this).attr('caption') );