我正在尝试将自定义操作插入到花哨的关闭按钮中,但什么也没发生,这是为什么呢?
我的代码
$(".fancybox-close").click(function(){
$("#main-menu-nav a").removeClass("active");
$("footer").toggleClass("down", 400);
});
我正在尝试将自定义操作插入到花哨的关闭按钮中,但什么也没发生,这是为什么呢?
我的代码
$(".fancybox-close").click(function(){
$("#main-menu-nav a").removeClass("active");
$("footer").toggleClass("down", 400);
});
Fancybox 有一个回调 onClose 你可以在它的参数中定义
请尝试使用:
$("#TARGET_ELEMENT").fancybox({
'OTHER_PARAM':'OTHER_PARAM_VALUE',
'onClosed': function() {
alert("FIRED_ON_CLOSE");
}
});
快乐编码!
$("footer").toggleClass("down", 400);
是无效的 jQuery 代码,toggleClass 的第二个参数必须是布尔值 http ://api.jquery.com/toggleClass/。
Fancybox v1
为 API 提供一个onClosed
在 Fancybox 关闭时调用的方法。
Fancybox v2
为 API 提供一个afterClose
在 Fancybox 关闭时调用的方法。
提示和技巧页面具有使用此公共回调的方法,如下所示:
$("#tip5").fancybox({
'scrolling' : 'no',
'titleShow' : false,
'afterClose' : function() {
$("#main-menu-nav a").removeClass("active");
$("footer").toggleClass("down", 400);
}
});
使用此方法调用您的自定义操作将确保在单击覆盖以关闭 Fancybox 时调用它们,因为未单击按钮本身。
状态更新:根据西蒙在此页面上的回答,请注意他的观点,即您可能对switch parameter
for方法有疑问,因为除非(如评论所述)您使用jQuery UI.toggleClass();
,否则值400
可能无法达到您的预期。