我正在使用此代码加载一个fancybox弹出窗口,当它打开时隐藏在父页面上的另一个div,然后当它关闭时我需要它再次显示div但它似乎无法找到原始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>
我在TypeError: document.getElementById(...) is null
函数
afterClose
我认为这是因为它在父母身上但$("#divtotoggle",parent.document).show();
也失败了。
答案 0 :(得分:1)
我认为您没有以正确的方式使用fancybox API: 试试这个,我还没有测试过: 注意:如果这不起作用,请转到此链接并稍微调整一下 http://fancybox.net/api
$(".fancybox").fancybox({
'type': 'iframe',
'onStart':function(){
$("#divtotoggle").hide();
},
'onClosed': function() {
$("#divtotoggle").show();
}
});