我在一个页面上使用多个jquery FancyBox实例。在致电
jquery.fancybox.close()
它根本没有关闭它
脚本生成FancyBox,如下所示:
<script>
$("#firstTimeIntro").fancybox(
{
maxWidth : "30%",
maxHeight : "50%",
fitToView : false,
width : '70%',
height : '70%',
autoSize : false,
closeClick : false,
openEffect : 'none',
closeEffect : 'none'
}
).trigger('click');
$.fancybox.update();
</script>
这就是我关闭fancybox的方式:
$("#notRightnow").click(function(e)
{
//$.cookie('navafiz_notrightnow', '1', { expires: 30, path: '/' });
$.fancybox.close();
});
为了在真实环境中进行测试,请访问here。
在页面上加载它会显示一个弹出窗口,要求您登录。当您点击现在不是链接时,它应关闭popUp但不是。
答案 0 :(得分:0)
不知怎的,我把它排除了。处理多个fancybox的最佳方法是向链接声明一个类,例如fancybox
,该链接将加载弹出窗口并触发单击。代码如下:
<强> HTML 强>
<div style="display:none;" id="firstTimeIntro">
Loading First Time Intro
<a id="closeme" href="#">Close Me</a>
</div>
<a class="fancybox" href="#firstTimeIntro" id="hiddenIntroBox" style="display: block">Hidden</a>
<div style="display:none;" id="firstTimeIntro1">
Loading First Time Intro 2nd time
<a id="closeme1" href="#">Close Me</a>
</div>
<a class="fancybox" href="#firstTimeIntro1" id="hiddenIntroBox1" style="display: block">Hidden</a>
<强>的JavaScript 强>
$(document).ready(function()
{
$('.fancybox').fancybox({
maxWidth : "70%",
maxHeight : "70%",
fitToView : false,
width : '70%',
height : '70%',
autoSize : false,
closeClick : false,
openEffect : 'none',
closeEffect : 'none'
});
$.fancybox.update();
//$("#hiddenIntroBox").trigger('click');
$("#hiddenIntroBox1").trigger('click');
$("#closeme").click(function(e)
{
//$.cookie('navafiz_notrightnow', '1', { expires: 30, path: '/' });
$.fancybox.close();
});
$("#closeme1").click(function(e)
{
//$.cookie('navafiz_notrightnow', '1', { expires: 30, path: '/' });
$.fancybox.close();
});
}
);