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 nullafterClose関数を取得します

親にあるためだと思いましたが、$("#divtotoggle",parent.document).show();失敗しました。

4

1 に答える 1

1

ファンシーボックス API を正しい方法で使用していないと思います: これを試してみてください。ただし、テストしていません: 注: これが機能しない場合は、このリンクにアクセスして少し調整して ください http://fancybox.net/api

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