我想知道我怎样才能在fancybox 中添加更多的标题(例如标题或链接)。我知道如果我添加一个 title="Bla" 它会出现在框中。但是,如果我在我的图片链接中添加类似 caption="Blabla" 的内容,我需要在 jquery.fancybox.js 中拥有什么代码来拉取该标题标签?
问问题
43047 次
2 回答
36
你不需要弄乱原始的 jquery.fancybox.js文件,因为你可以在你自己定制的fancybox脚本中添加这个选项。
如果您正在使用HTML5 DOCTYPE
,则可以为您的data-*
标题使用该属性,以便您可以拥有以下 HTML:
<a class="fancybox" href="images/01.jpg" data-caption="This is the caption" >Open fancybox</a>
然后设置您的自定义fancybox脚本并data-caption
使用beforeShow
回调获取
$(document).ready(function() {
$('.fancybox').fancybox({
beforeShow : function(){
this.title = $(this.element).data("caption");
}
});
}); // ready
这将覆盖title
并使用 the data-caption
。
另一方面,对于这个 HTML ,您可能希望保留title
属性并构建幻想框的title
组合title
和属性data-caption
<a class="fancybox" href="images/01.jpg" title="This is the title" data-caption="This is the caption">Open fancybox</a>
使用这个脚本
$(document).ready(function() {
$('.fancybox').fancybox({
beforeShow : function(){
this.title = this.title + " - " + $(this.element).data("caption");
}
});
}); // ready
此外,您还可以caption/title
从文档中的另一个 HTML 元素(<div>
例如)获取链接或其他 HTML 元素。检查这些帖子以获取代码示例:https ://stackoverflow.com/a/9611664/1055987和https://stackoverflow.com/a/8425900/1055987
注意:这是为 fancybox v2.0.6+
于 2012-09-10T18:29:05.933 回答
10
老问题,但感谢 JFK 的回答,我发现使用最新版本的fancybox
您只需在title=""
属性中输入一个值即可添加标题(默认情况下)。只要确保它包含在类的<a>
元素中fancybox
。
于 2014-11-19T22:23:22.983 回答