【发布时间】:2011-10-13 14:20:25
【问题描述】:
我在我的页面上使用 Shadowbox:http://www.shadowbox-js.com/index.html
我在同一页面上的 2 个单独的 Web 用户控件上有 2 个链接,应该打开 2 个不同的页面。
我正在使用以下函数来初始化我的影子盒:
function InitializeShadowbox() {
Shadowbox.init({
onOpen: shadowboxOpen,
onFinish: shadowboxFinish,
onClose: shadowboxClose,
modal: true
});
// this will cause the shadowbox to setup itself again after a partial porstback.
Shadowbox.setup();
}
但问题是 Shadowbox.init() 函数是静态类上的静态函数,所以显然不可能有多个具有不同初始化程序的 shadowbox 链接?
我希望我可以创建一个 shadowbox 的新实例,命名并使用它。
我需要唯一地初始化它,如下所示,但它不起作用:
function InitializeShadowbox() {
Shadowbox[customLink].init({
onOpen: shadowboxOpen,
onFinish: shadowboxFinish,
onClose: shadowboxClose,
modal: true
});
// this will cause the shadowbox to setup itself again after a partial porstback.
Shadowbox[customLink].setup();
}
更新: 添加了自定义初始化。
谢谢
【问题讨论】:
-
即使从他们网站的第一页开始,也有多个影子盒。我不明白你为什么认为这是不可能的。
-
如果你看一下他们的代码,他们只有一行代码,上面写着 Shadowbox.init,而且他们只是使用 rel 属性。这就是为什么。就我而言,我的 shadowbox 应该为第一个 Web 用户控件初始化的方式与第二个不同。因此,例如,对于我打开影子框时的第一个链接,应该显示关闭按钮,而对于第二个链接,它不应该真的和其他一些变化。
标签: jquery html css ajax shadowbox