我正在使用fancybox在图库中显示一些图像.我有一张主图像,下面有一堆缩略图.如果单击主图像,则应显示fancybox,但如果单击缩略图则会替换主图像.我已经把主图像切换连接到了其他地方,但我的问题是我想要在点击缩略图时停止显示fancybox.我有这个代码:
$(this).fancybox({
onStart: function(selectedArray, selectedIndex, selectedOpts) {
var element = selectedArray[selectedIndex];
if ($(element).parent('li').length > 0) {
$.fancybox.cancel();
$.fancybox.close();
$(element).click();
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
但取消和关闭不起作用.假设cancel()有效,close()是多余的,我不会感到惊讶......
谢谢
罗布
编辑:这是主图像的一些html:
<a href="/uploadedImages/About_Something/Carousel/Landing_mainImage.png" id="ctl00_ContentPlaceHolder1_aMainImage" class="fancyBox" rel="gallery">
<img id="ctl00_ContentPlaceHolder1_imgMainImage" src="/uploadedImages/About_Something/Carousel/Landing_mainImage.png" alt="1" style="border-width:0px;" />
</a>
Run Code Online (Sandbox Code Playgroud)
这是缩略图项目之一:
<a href="/uploadedImages/About_Something/Carousel/Landing_mainImage_2.png" class="fancyBox" rel="gallery">
<img src="/uploadedImages/About_Something/Carousel/Landing_mainImage.png " alt="/uploadedImages/About_Something/Carousel/Landing_mainImage.png " />
</a>
Run Code Online (Sandbox Code Playgroud)
然后更多的JavaScript看起来像这样:
$('a.fancyBox').each(function(i) {
if ($(this).parent('li').length > 0) {
$(this).click(function(e) {
e.preventDefault();
});
}
$(this).fancybox({
onStart: function(selectedArray, selectedIndex, selectedOpts) {
var element = selectedArray[selectedIndex];
if ($(element).parent('li').length > 0) {
$.fancybox.cancel(); …Run Code Online (Sandbox Code Playgroud)