fancybox 2.0.6关闭按钮自定义动作

时间:2012-07-12 08:33:34

标签: jquery fancybox-2

我正在尝试将自定义动作插入花哨的关闭按钮,但没有发生任何事情,为什么会这样?

我的代码

$(".fancybox-close").click(function(){
    $("#main-menu-nav a").removeClass("active");
    $("footer").toggleClass("down", 400);
});

3 个答案:

答案 0 :(得分:4)

Fancybox有一个回调onClose你可以在其参数中定义

请尝试使用:

$("#TARGET_ELEMENT").fancybox({
 'OTHER_PARAM':'OTHER_PARAM_VALUE',
 'onClosed': function() {
   alert("FIRED_ON_CLOSE");
  }
 });

快乐的编码!

答案 1 :(得分:1)

$("footer").toggleClass("down", 400);是无效的jQuery代码,toggleClass的第二个参数必须是布尔值http://api.jquery.com/toggleClass/

答案 2 :(得分:1)

Fancybox v1为API提供了在Fancybox关闭时调用的onClosed方法 Fancybox v2为API提供了在Fancybox关闭时调用的afterClose方法。

Tips & Tricks页面有使用此公共回调的方法,如下所示:

$("#tip5").fancybox({
    'scrolling'     : 'no',
    'titleShow'     : false,
    'afterClose'        : function() {
       $("#main-menu-nav a").removeClass("active");
       $("footer").toggleClass("down", 400);
    }
});

使用此方法调用自定义操作将确保在单击叠加层以关闭Fancybox时调用它们,因为未单击按钮本身。

状态更新: Per Simon在此页面上的回答,请注意他自switch parameter方法的.toggleClass();可能存在问题,因为400方法的值{{1}}除非(如评论所述),您使用 jQuery UI ,否则可能无法达到预期效果。