1

私はjquery fancyboxを使用しており、fancyboxが開く直前にpdfファイルを含むiframeを非表示にしたい(これは正常に動作しています)、次にfancyboxのbeforeClose z-indexの問題によりiframeを再び表示したいPDF iframe。私の問題は、 beforeClose が起動していないように見えることです。画像と iframe の下に配置したコードを次に示します。

<script src="http://www.elevateweb.co.uk/wp-content/themes/radial/jquery.fancybox.pack.js" type="text/javascript"></script>

   var frame = document.getElementById('Frame');

   jQuery("#zoom_08").bind("click", function (e) {
         e.preventDefault();
         var ez = $('#zoom_08').data('elevateZoom');
           $.fancybox(ez.getGalleryList());
           frame.style.display = 'none';
           return false;
    });


    $.fancybox({
      beforeClose: function () {
       frame.style.display = '';
             }
    });

私はまだJqueryに慣れていないので、何が間違っているのか理解できません。助けてくれてありがとう。

<iframe id="Frame"  width="680" height="1000" runat="server" />

Page_Load で、次のようにして iFrame の src を設定します

 Frame.Attributes.Add("src", "./Files/" + Request.QueryString["certfile"].ToString());
4

1 に答える 1

2

これを試して

jQuery("#zoom_08").bind("click", function (e) {
    e.preventDefault();
    var ez = $('#zoom_08').data('elevateZoom');
    jQuery.fancybox(ez.getGalleryList(), {
        beforeShow: function () {
            frame.style.display = 'none';
        },
        afterClose: function () {
            frame.style.display = ''; // or .display = "block"; ?
        }
    });
    return false;
});

...そして削除:

$.fancybox({
  beforeClose: function () {
   frame.style.display = '';
         }
});

それbeforeCloseは、何も開いていないファンシーボックス用だからです。

于 2013-03-19T00:01:29.253 に答える