我喜欢评论中提供的解决方案,但只做了一些小修改以使代码更通用。这个想法是所有的colorbox css文件都包含在'head'中,但是被禁用。然后,当打开一个颜色框窗口时,只会启用具有相应主题的CSS文件。
有很多的方式来实现这一目标,他们中的一个:
function useColorboxTheme() {
var selectedTheme = $(this).attr("data-theme");
$(".colorboxTheme").attr("disabled", "disabled");
$("#" + selectedTheme).removeAttr("disabled");
}
function defaultColorboxTheme() {
$(".colorboxTheme").attr("disabled", "disabled");
$(".colorboxTheme.default").removeAttr("disabled");
}
$(document).ready(function(){
$("a.colorbox").colorbox({
onOpen: useColorboxTheme,
onClosed: defaultColorboxTheme
});
});
的useColorboxTheme()查找一个data-theme
属性,在颜色框锚,如:
<a data-theme="theme1" class="colorbox" title="This is pic1" href="http://pics/pic1.jpg"></a>
注意“ theme1“对应于头部中'link'标签的ID。例如:
<link id="theme1" class="colorboxTheme" rel="stylesheet" type="text/css" href="css/colorbox/example1/colorbox.css">
您可能需要将其调整为您正在使用的代码或CMS,但这给出了总体思路。这是一个fiddle。
但请注意,这不是colorbox的预期用法。您必须在所有浏览器中彻底测试它,以确保您不会遇到使用多个主题的问题。我注意到的一个怪癖是,示例5主题需要在所有主题的其他主题共同工作之前进行关联。
我从来没有尝试过,但它可以通过使用不同的主题来实现。 – Tariqulazam
这是一个老问题[多个颜色框在同一页](https://github.com/jackmoore/colorbox/issues/4)它已经被解决了 –
Aravind,不幸的是你的例子不起作用。 Colorbox窗口随着您的变体消失。 –