在缩略图淡出时解除绑定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; }); 

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

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

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