我知道Fancybox的说明声明内容可以通过四种方式传递;图像,内联,iFrame或Ajax。
但是我想知道我是否有一个字符串:
var html = "<p>Some html content</p>";
如果我可以使用此内容调用fancybox窗口?
编辑关于JFK的答案,根据情况提供内容的最佳方式是什么?例如,假设我有两个不同的fancybox链接:
<a href="#" class="fancybox class-one">Click me</a>
<a href="#" class="fancybox class-two">Click me</a>
因此,当点击任一链接时,我想根据第二个类名显示不同的内容?
答案 0 :(得分:1)
是的,这是可能的。您也可以将html
设置为type
的{{1}},这样就可以了
content
注意,无论在主播的var html = "<p>Some html content</p>";
jQuery(document).ready(function ($) {
$(".fancybox").fancybox({
type: "html", // not an image but html
content: html // overrides fancybox content
});
}); // ready
属性中设置什么,API选项content
都会覆盖 fancybox content
绑定到fancybox所以这个
href
...仍然会在fancybox中显示javascript变量的值,而不是<a class="fancybox" href="images/01.jpg">Open Fancybox</a>
参见 JSFIDDLE
编辑:
根据选择器的类提供内容,如
href
...我认为最好的办法是使用<a href="#" class="fancybox class-one">Click me</a>
<a href="#" class="fancybox class-two">Click me</a>
语句(在switch
方法内)动态设置.on()
变量的值。然后以编程方式启动fancybox,如:
html
请参阅分叉 JSFIDDLE