首先,这就是我想要实现的目标:我有一个对象列表,其中包含图像的缩略图和一些基本信息。您可以单击图像以查看图像的大图,或在对象信息上的任何其他位置展开包含有关对象的大量额外信息的 DIV。
我结合使用了 jquery UI 手风琴和 yoxview,但是 yoxview 在几个浏览器中给我带来了极大的痛苦,我决定用 ColorBox 替换它。
现在这是问题所在,我有这个工作,但是当单击图像时,ColorBox 会按原样打开,但它也会触发手风琴,当然,它不应该。因为,例如,如果您单击打开额外信息,然后单击拇指查看放大的图像,手风琴关闭,这确实使导航和检查这些对象变得很痛苦,而不是轻而易举。
这是它的设置方式:
<div id="list-accordion">
<div class="list-accordion-header">
<span class="list-thumb-container">
<a href="someplace_thumb.jpg" title="some title" class="group1">
<img src="somplace_large.jpg" />
</a>
</span>
<div class="list-basic-details">
The basic explanation comes here
</div>
</div>
<div class="list-extra-detail">
All the rest of the information in the panel of the accordion
</div>
</div>
在准备好的文件中,我有这个:
$("#list-accordion").accordion(
{
icons: false ,
autoHeight : false ,
active: false ,
header: '.list-accordion-header' ,
collapsible: true
}
);
对于彩盒:
$(".group1").colorbox({rel:'group1'});
(我使用 rel 是因为一个对象可能有多个图像,我简化了我的 html 示例)
为了确保单击图像时,我通常会使用以下代码:
$(".group1").click(function(e){ e.stopPropagation(); });
但是,我已经尝试过多种方式 stopPropagation,但每次尝试都会破坏 ColorBox。大图像可以正常打开,但在窗口本身中,而不是在灯箱中。
简而言之,我知道有一个灯箱,它不像 yoxview 可以跨浏览器工作,但我有一个不需要的副作用,即单击图像会触发手风琴。
我非常感谢您在此处提供的任何帮助,以便尽管图像(链接)位于手风琴标题内,但单击它会触发 ColorBox,但不会触发手风琴本身。
干杯。