1

我正在http://www.duss.sc.edu/nasca/创建一个网站

如果您在我发布此问题的日期或几天后检查此内容(因为我不经常更新实时内容),您可以看到我的问题说明。单击左侧标记为“图像”的八张卡片之一,查看右侧弹出的信息。单击右侧的大图,可以看到在所有内容上方弹出的花式框。但是,图像会表现得完全错误。无论您选择什么图像,它通常都会具有相对较高的分辨率,因此它会缩放到比屏幕大,但我希望它采用窗口的大小。它的纵横比也一直是错误的,除非我选择全屏。如果我单击图像使其按比例缩小,它将采用图像的 div 容器的纵横比,除了容器几乎从不是图像的实际尺寸。那' 这就是为什么我首先拥有灯箱的原因。所以你可以看到整个事情。

以下是我实现fancybox的方式:

index.js

//this function is called on page load (like .ready())
function init_index() {
  ...

  $().fancybox({
    selector: '[data-fancybox="Featured"]',
    protect: true,
    autoSize: false,
    autoScale: false,
    autoDimensions: false
  });

  ...
}

主页-more.php

//this php file is loaded with some parameters to display the details on the right side
...
echo '  <div id="preview-media-container">';
echo '    <a class="fancybox-home" href="' . $ref_full . '" data-fancybox="Featured" data-type="image" data-caption="' . $trimmed . '" data-width="' . $dimensions['width'] . '" data-height="' . $dimensions['height'] . '">';
echo '      <img src="' . $ref_large . '" id="preview-media" />';
echo '    </a>';
echo '  </div>';
...

$dimensions['width'] 和 ['height'] 获取正在加载的特定图像的准确像素尺寸。相信我已经测试过它并且它有效。

我一直找不到任何关于我可以添加到 .fancybox() 对象的参数以及它们各自的作用的 fancybox 3 文档,所以这很复杂。除了您在此处看到的内容之外,我还尝试了几种不同的论点组合。

请记住,我这里的代码是本地的,最新的代码,实时代码有点不同,但奇怪的大小行为在实时站点上是相似的。我只是为您提供链接以帮助说明问题,而不是作为分析代码的来源。

我知道在我最新的本地代码中,fancybox 实例正在获取我的参数,因为我的设置“保护:true”中禁用了右键单击。

有谁知道这里有什么问题?

4

1 回答 1

2

将 jQuery 更新到最新或至少到 v3.2.0

于 2017-07-12T18:27:47.417 回答