Fancybox 3 - 全屏显示iframe画廊

问题描述 投票:0回答:1

我知道这个问题已经被问到,但主要是针对Fancybox 2(而不是3),我发现的唯一答案对我没有帮助。 我的网页有两个框架,一个托管Fancybox图库。到目前为止,当我点击图像时,它们只会在相应的框架中打开,而Id就像图像一样填满整个屏幕。按照这里的答案(Open fancybox 3 into iframe parent)我做了以下代码,但我没有做对。 我忘记了什么吗?我应该在项目的主页面中放置一些代码,那个代码包含两个iframe吗?还有什么我应该做的?

<!DOCTYPE html>
<html lang="en">

<head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

<link  href="jquery.fancybox.min.css" rel="stylesheet">
<script src="jquery.fancybox.min.js"></script>

<script type="text/javascript">
$(document).ready(function() {
    parent.jQuery.fancybox.getInstance().update();
});

$.fancybox.open([
    {
        src  : 'IMG_3301.JPG',
        opts : {
            caption : 'First caption',
            thumb   : 'IMG_3301 - copie.JPG'
        }
    },
    {
        src  : 'IMG_3302.JPG',
        opts : {
            caption : 'Second caption',
            thumb   : 'IMG_3302 - copie.JPG'
        }
    }
], {
    loop : false
});
</script>

</head>

<body>

<a data-fancybox="gallery" href="IMG_3301.JPG">
    <img src="IMG_3301 - copie.JPG">
</a>

<a data-fancybox="gallery" href="IMG_3302.JPG">
    <img src="IMG_3302 - copie.JPG">
</a>

</body>
</html>
iframe fancybox fancybox-3
1个回答
0
投票

通过使用parent.jQuery.fancybox,您可以访问父iframe中的fancybox,并且,要在父iframe中启动fancybox,只需组合您的两个片段,如parent.jQuery.fancybox.open(..)

例:

  var $links = $(".imglist a");

  $links.click(function () {
    parent.jQuery.fancybox.open($links, {
      // Your custom options
    }, $links.index(this));

    return false;
  });

但是ku zxsw指出

© www.soinside.com 2019 - 2024. All rights reserved.