用colorbox替换thickbox类与jQuery无法正常工作

时间:2011-06-24 02:35:24

标签: jquery colorbox

我有一个教育CMS,它一直在使用thickbox图像。我现在想通过删除thickbox类并使用jQuery添加colorbox类来替换colorbox。类替换正在发生,但颜色框不会触发。如果我手动更改CMS中的类,它可以正常工作。

jQuery(".thickbox").removeClass("thickbox").addClass("colorbox");

我已将调用移到了对colorbox脚本调用之上的替换脚本,但仍然没有用。

有什么想法吗? colorbox在第一次加载时是否需要DOM中的类?

由于 米

1 个答案:

答案 0 :(得分:1)

我认为问题在于写入thickbox和colorbox的方式:

Colorbox是作为jQuery插件实现的,它与Thickbox的自包含小部件模型有点不同(并且更好)。不同之处在于,Thickbox会自动使用thickbox类查找并应用效果,Colorbox需要您告诉它要处理哪些元素。

您可以删除自己的行:

jQuery(".thickbox").removeClass("thickbox").addClass("colorbox");

然后,在包含点颜色框之后,包括:

$(function(){
    $('a.thickbox').colorbox();
});

这将使用默认设置初始化页面中任何具有“thickbox”类的链接上的colorbox。您可以通过包含对象来向colorbox添加设置,如下所示:{key:value, key:value, key:value}。可用设置位于颜色框说明页面上。

作为一个jQuery样式点,你不应该使用普通的类选择器jQuery('.something') - 这将遍历整个页面中寻找该类的每个元素,这在旧的浏览器/机器中非常慢。使用您想要的标记名称jQuery('a.something')限定选择器,和/或给出选择器上下文 - 通过包含要查看的元素的ID:jQuery('a.something', '#contentBox')(其中包含“包含你的东西”对此感兴趣。