Jquery 关闭2模式,然后再次打开1
Jquery 关闭2模式,然后再次打开1,jquery,fancybox,fancybox-2,Jquery,Fancybox,Fancybox 2,在fancybox中,我打开了2个插件模块,需要关闭2和1 示例:关闭2个模态,然后再次打开1个模态。。。 我用这个但不起作用: afterClose: function() { $("a#button2").fancybox({ 'closeBtn' : false, 'hideOnContentClick': true, 'padding' : 0, 'fitToView' : false, 'helpers' : { overlay :
在fancybox中,我打开了2个插件模块,需要关闭2和1 示例:关闭2个模态,然后再次打开1个模态。。。 我用这个但不起作用:
afterClose: function() {
$("a#button2").fancybox({
'closeBtn' : false,
'hideOnContentClick': true,
'padding' : 0,
'fitToView' : false,
'helpers' : { overlay : { css : { 'background' : 'rgba(0, 0, 0, 0.55)' } }, buttons : {} }
}).trigger('click');
}
首先,您可能只需要为两个模式框添加一个脚本,方法是为两个链接(fancyBox(隐藏内容)外部和内部)添加一个公共选择器,以便: 现在,如果您总是想在关闭第二个模式后打开第一个模式,您可以使用
afterClose
回调中的ID
触发对第一个链接的单击,如:
afterClose: function () {
if (this.element.attr("id") == "fancybox-button3") {
$("#button2").click();
}
}
注意在决定是否在关闭后再次打开第一个链接之前,我们必须验证正在关闭的链接是否是第二个链接
重要的
当您从另一个fancybox中打开fancybox,其中包含我记录的内联内容时,会出现一个bug
作为一种解决方法,您可以延迟单击
事件,以便在再次启动fancybox之前正确清理它,如下所示:
afterClose: function () {
if (this.element.attr("id") == "fancybox-button3") {
setTimeout(function () {
$("#button2").click();
}, 200);
}
}
请参见
afterClose: function () {
if (this.element.attr("id") == "fancybox-button3") {
$("#button2").click();
}
}
afterClose: function () {
if (this.element.attr("id") == "fancybox-button3") {
setTimeout(function () {
$("#button2").click();
}, 200);
}
}