首先,这是我想要实现的:我有一个包含图像的拇指和一些基本信息的对象列表。您可以单击图像查看图像的大版本或对象信息的任何其他位置,以展开具有大量关于对象的额外信息的DIV。用户界面手风琴标题中的jQuery ColorBox插件
我曾与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各种途径,但每一个每一个试图破坏活动的彩盒。大图像打开好,但在窗口本身,而不是在灯箱,因为它应该。
总之,我知道有一个灯箱,不像yoxview作品跨浏览器,但我有不想要的副作用,点击图像触发手风琴。
我真的很感谢这里的任何帮助,尽管图片(链接)位于手风琴的头部,但点击它会触发ColorBox,而不是手风琴本身。
干杯。
想象您的用户界面非常困难;也许提供一个链接或者更多地填写用例描述。但从它的声音来看,您需要能够在任何特定点击时更仔细地区分“UI模型”的状态。我通常使用Pub/Sub和事件来实现它。 – 2012-02-02 18:36:01
我明白这个事实很困难,但不幸的是,我不允许发布该项目的链接,这意味着我需要在这个相当复杂的结构中设置一个虚拟的地方。我会看看你的酒吧/小费小费,如果我不能解决问题,我将不得不安置那个假人。 – Peter 2012-02-03 07:04:35