我想显示一个模型框(花式框),当用户单击关闭按钮或ESC键时,应该显示一个新的弹出窗口。我发现可以使用onclosed触发器,但无法实现它。 (我是编码初学者)
$.fancybox.showLoading(); // show loading
setTimeout(function(){ // then show popup, deley in .5 second
$.fancybox({'onClosed' : function() { window.open("https://www.google.com"); }});
}, 500); // .5 second
}, seconds_pop);
}
答案 0 :(得分:0)
根据fancybox3上的文档,您应该使用以下方法实现它:
afterClose: function(){
window.open("https://www.google.com");
}
您可以在此处查看参考:fancybox options
查找此行afterClose: $.noop, // After instance has been closed
这是我的codePen示例
请记住在关闭图像框后允许弹出窗口位于右上角。
答案 1 :(得分:0)
好像您正在使用v2,但是您可以自由升级到v3并使用类似这样的内容:
$('[data-fancybox="gallery"]').fancybox({
beforeClose: function(instance, current) {
current.opts.animationEffect = false;
$.fancybox.open({
type : 'html',
src : '<div>Hello!</div>',
animationEffect : false,
beforeClose : function(instance, current) {
current.opts.animationEffect = "fade";
}
});
}
});
https://codepen.io/anon/pen/NLVqPK?editors=1010
您可以选择使用beforeClose
或afterClose
回调并切换动画效果以进行无缝的内容更改。