我在一系列画廊图片上使用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;
});
答案 0 :(得分:4)
你的代码看起来有点疯狂/很长,所以我不打算过于彻底地检查它;但是你的问题似乎很简单。
当淡化图像时,另外调用.unbind('click.fb')
取消绑定fancybox。
重新申请;您正在使用的淡入淡出方法将接受在动画完成时执行的回调函数;在该函数中,您可以再次将fancybox绑定到对象上。