使用colorbox jQuery插件显示两组不同的内容时,将在关闭颜色框时显示第一组内容

时间:2012-08-22 23:20:24

标签: jquery colorbox

jQuery 1.6.4 ColorBox 1.3.19

我使用以下代码打开彩盒:

$.colorbox({inline: true,
            href: '#floatbox',
            innerHeight: '480',
            innerWidth: '530',
            top: '15%'});

' #flofbox'是一个按钮,单击该按钮时,最终会导致以下第二次调用colorbox:

$.colorbox({html: 'some_valid_html',
            transition: 'none',
            escKey: false,
            overlayClose: false);

我观察到的是第二个HTML内容正确显示,但在调用

之前
$.colorbox.close()

之后,' #floterbox'的内容(第一次调用的内容)在屏幕上闪烁。这不是我所期望的。一旦第一次调用的内容从屏幕上删除,我就不希望用户再次看到它。

这是Chrome / Safari中的行为。

我尝试了几件事,包括:

1)强行删除#floatbox'从第二次调用之前的DOM到$ .colorbox。

2)将第二次调用绑定到$ .colorbox到第一个颜色框内容中单击的链接。

3)操作$ .colorbox设置为"撤消" '内联'和' href'第一次调用时的属性(尽管它看起来并不像我应该这样做)。

就好像ColorBox从第一次调用中复制DOM节点并保留它一样。

以下是一些问题:

1)'内联'是否可能和' href'第一次调用的设置会以某种方式被记住?

2)有没有办法操纵打开的彩盒的当前设置?

感谢任何其他想法。

谢谢, 韦斯

1 个答案:

答案 0 :(得分:1)

  

就像ColorBox从第一次调用中复制DOM节点并保留它一样。

ColorBox不复制该元素,它将节点从DOM中的原始位置移开。当您更改内容时,它会将其移回。

  

1)第一次调用的'inline'和'href'设置是否可能以某种方式被记住?

不,该信息被丢弃。我不确定是什么原因造成了这些问题,但我怀疑这是实施中的疏忽。我会查看你的代码,以确保你没有意外调用colorbox。