防止Fancybox在禁用的图像上发生

时间:2011-07-10 00:45:50

标签: jquery fancybox

我正在制作一个网站,其中包含可“过滤”的照片网格。我打电话给fancybox:

$(".popbox").fancybox();

当图像被过滤掉时,它会被“禁用”一类。注意,页面没有重新加载。

<a class="popbox disabled" style="opacity: 0.3;">
<img alt="placeholder" src="_assets/images/placeholder.jpg">
</a>

如果有人点击禁用的图片,我怎么能这样做,fancybox不会激活?当更改过滤器并重新启用图像时,我还需要它再次工作。

2 个答案:

答案 0 :(得分:2)

这是一种方法(demo):

$(function() {
    $('.popbox').click(function() {
        if (!$(this).is('.disabled')){
            $.fancybox('<img src="' + $(this).attr('href') + '" height="333" width="500">');
        }
        return false;
    });
});

更新:使用onStart回调(demo)可能是更好的方法:

$(function() {
    $('.popbox').fancybox({
        onStart: function(link) {
            if ($(link).is('.disabled')) {
                return false;
            }
        }
    });
});

答案 1 :(得分:0)

嗯,试一试:

$('.popbox:not(.disabled)').fancybox();