1

我正在使用这段代码加载一个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();也失败了。

4

1 回答 1

1

我认为你没有以正确的方式使用fancybox API:试试这个,虽然我没有测试过:注意:如果这不起作用那么,去这个链接并稍微调整一下 http://fancybox.net/api

$(".fancybox").fancybox({
    'type': 'iframe', 
    'onStart':function(){ 
      $("#divtotoggle").hide();
    },
    'onClosed': function() {
      $("#divtotoggle").show();
    }
});
于 2013-04-10T16:54:16.060 回答