0

我目前已经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,

4

1 回答 1

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(在不适合的地方使用适当的 id)

$(this).html( $(this).attr('caption') );
于 2013-07-01T00:57:23.320 回答