是否有可能同一个页面上使用两种不同的颜色框的风格?(Is it possible to use tw

2019-09-23 20:56发布

我用颜色框到一个页面上显示的图像和HTML内容。 这elemets的初始化是不同的,一个用于图像,另一个用于HTML内容。 窗的设计不同的是,在填充DIV cboxLoadedContent为“形象”颜色框是“填充:15px的”和填充在cboxLoadedContent格为“HTML”颜色框是“填充:0像素15倍”。 我可以添加特殊类时,点击“HTML”链接和填充将是正确的。 但主颜色框窗口不会改变他的身高。 除了这两个环节是不同的画廊的一部分。 所以我不能把颜色框为具有较强的宽度和高度的HTML。

谁能帮助这个?

Answer 1:

我喜欢在评论中提供的解决方案,但也有一些小的改动,以使代码更通用。 我们的想法是,所有的颜色框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,但是这给了总体思路。 这里有一个拨弄了点。

请注意,但是,这不是颜色框的预期使用情况。 你必须在所有的浏览器对其进行全面测试,以确保你不会碰到使用多个主题的问题。 一个怪癖,我注意到的是,例如5个主题需要链接之前,其他主题的所有主题的共同努力。



文章来源: Is it possible to use two different colorbox style on same page?