FancyBox 3 调整到 Window 和纵横比
FancyBox 3 Resizing to Window and Aspect Ratio
我正在 http://www.duss.sc.edu/nasca/
创建一个网站
如果您在我发布此问题的日期或几天后查看此问题(因为我不经常更新实时内容),您可以看到我的问题。单击左侧标有 "image" 的八张卡片中的一张,查看右侧弹出的信息。单击右侧的大图,可以看到 fancybox 弹出在所有内容之上。但是,图像会表现得一团糟。无论您 select 是什么图像,它通常都具有相对较高的分辨率,因此它会缩放到比屏幕大,但我希望它采用 window 的大小。它的宽高比也一直是错误的,除非我 select 全屏。如果我单击图像,它会按比例缩小,它采用图像容器 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 文档,所以这很复杂。除了您在此处看到的内容之外,我还尝试了一些不同的参数组合。
请记住,我这里的代码是本地的最新代码,实时代码有点不同,但奇怪的大小调整行为在实时站点上是相似的。我只给你 link 来帮助说明问题,而不是作为分析代码的来源。
我知道在我最新的本地代码中,fancybox 实例正在获取我的参数,因为我的设置禁用了右键单击 'protect: true'。
有人知道这里的问题是什么吗?
将 jQuery 更新到最新版本或至少更新到 v3.2.0
我正在 http://www.duss.sc.edu/nasca/
创建一个网站如果您在我发布此问题的日期或几天后查看此问题(因为我不经常更新实时内容),您可以看到我的问题。单击左侧标有 "image" 的八张卡片中的一张,查看右侧弹出的信息。单击右侧的大图,可以看到 fancybox 弹出在所有内容之上。但是,图像会表现得一团糟。无论您 select 是什么图像,它通常都具有相对较高的分辨率,因此它会缩放到比屏幕大,但我希望它采用 window 的大小。它的宽高比也一直是错误的,除非我 select 全屏。如果我单击图像,它会按比例缩小,它采用图像容器 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 文档,所以这很复杂。除了您在此处看到的内容之外,我还尝试了一些不同的参数组合。
请记住,我这里的代码是本地的最新代码,实时代码有点不同,但奇怪的大小调整行为在实时站点上是相似的。我只给你 link 来帮助说明问题,而不是作为分析代码的来源。
我知道在我最新的本地代码中,fancybox 实例正在获取我的参数,因为我的设置禁用了右键单击 'protect: true'。
有人知道这里的问题是什么吗?
将 jQuery 更新到最新版本或至少更新到 v3.2.0