小编Rob*_*b C的帖子

$ .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();
            }
        }
    });
});
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)

jquery jquery-plugins fancybox

5
推荐指数
1
解决办法
3973
查看次数

标签 统计

fancybox ×1

jquery ×1

jquery-plugins ×1