在缩略图淡出时解除绑定Fancybox

时间:2010-09-06 20:18:07

标签: jquery jquery-plugins fancybox

我在一系列画廊图片上使用fancybox。

用户可以选择点击某个类别的特定图像的链接。

我想在褪色的图像上取消绑定Fancybox方法,但是当它们处于完全不透明状态时也会重新绑定。

$("#clientsProjects").delegate("#clientsProjects nav a", "click", function() {

    $("#clientsProjects .current").removeClass("current");

    $(this).parent().addClass("current");

    var $filterClass = $(this).attr("class").split(/\s+/);

    $.each($filterClass, function(index, item){

        if ($filterClass != "all") {

            $("#clientsProjects .workThumbs div:not(." + $filterClass + ")").stop().fadeTo("slow", .2, function() {
                $(this).unbind("click");
            });

            $("#clientsProjects .workThumbs div." + $filterClass).stop().fadeTo("slow", 1);

        } else {

            $("#clientsProjects .workThumbs div").stop().fadeTo("slow", 1);

        }

    });

    return false;

});

1 个答案:

答案 0 :(得分:4)

你的代码看起来有点疯狂/很长,所以我不打算过于彻底地检查它;但是你的问题似乎很简单。

当淡化图像时,另外调用.unbind('click.fb')取消绑定fancybox。

重新申请;您正在使用的淡入淡出方法将接受在动画完成时执行的回调函数;在该函数中,您可以再次将fancybox绑定到对象上。