如何解决$ .fancybox.cancel不起作用
| 我正在使用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();
}
}
});
});
但取消和关闭无效。如果close()多余,假设cancel()有效,我不会感到惊讶...
谢谢
罗伯
编辑:这是主图像的一些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>
这是缩略图之一:
<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>
然后更多的javascript看起来像这样:
$(\'a.fancybox\').each(function(i) {
if ($(this).parent(\'li\').length > 0) {
$(this).click(function(e) {
e.preventDefault();
});
}
$(this).fancybox({
onStart: function(selectedArray,selectedOpts) {
var element = selectedArray[selectedindex];
if ($(element).parent(\'li\').length > 0) {
$.fancybox.cancel();
$.fancybox.close();
$(\'#fancy_close\').trigger(\'click\');
$(element).click();
}
}
});
});
解决方法
我有同样的问题。
只需在onStart中返回false,它将取消加载。
, 尝试这个:
$.fn.fancybox.close();
或这个:
$(\'#fancy_close\').trigger(\'click\');
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。