1
我使用此代码加载fancybox弹出窗口,它隐藏另一个div在父页面打开时,然后当它关闭我需要它再次显示div,但它似乎无法找到要显示的原始div。Fancybox显示div关闭
<script type="text/javascript">
$(document).ready(function() {
$(".fancybox").fancybox();
$(".fancybox").click(function() {
$("#divtotoggle").hide();
$.fancybox.open({
'type': 'iframe',
padding : 0,
afterClose: function() {
//$("#divtotoggle",parent.document).show();
$("#divtotoggle").show();
}
});
});
});
</script>
我在afterClose
功能
得到了TypeError: document.getElementById(...) is null
我想这是因为它的父,但$("#divtotoggle",parent.document).show();
也会失败。
您是否检查过,如果在关闭花式框后执行afterClose()之后的方法?你能尝试警报吗? – 2013-04-10 16:08:39
是的,我在afterClose中添加了一个警报,它显示警报,但是它在加载弹出窗口之前显示它看起来不正确,当然它应该在弹出窗口关闭后执行此操作。 – PeteTheGreek 2013-04-10 16:13:31
你可以看到fancybox的文档了解更多详情 http://fancybox.net/api。你正在使用'iframe',因此你应该使用'父'。$。fancybox.close();',我想,我还没有测试! – 2013-04-10 16:23:06