Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用不同类调用fancybox时保持相同的库_Jquery_Fancybox_Fancybox 2 - Fatal编程技术网

Jquery 使用不同类调用fancybox时保持相同的库

Jquery 使用不同类调用fancybox时保持相同的库,jquery,fancybox,fancybox-2,Jquery,Fancybox,Fancybox 2,我需要在一个页面上以两种不同的方式调用fancybox——一种是使用“FitView:false”,另一种是使用“FitView:true”。我希望将这些图像放在同一个库中,但由于它们是从两个单独的fancybox函数调用的,因此不允许这些图像像放在同一个库中一样工作。是否有一种方法可以动态应用“fitToView:false”或其他解决方案来帮助我实现我所寻找的目标 以下是我的两项职能: $('.fancybox') .attr('rel', 'gallery') .fancy

我需要在一个页面上以两种不同的方式调用fancybox——一种是使用“
FitView:false
”,另一种是使用“
FitView:true
”。我希望将这些图像放在同一个库中,但由于它们是从两个单独的fancybox函数调用的,因此不允许这些图像像放在同一个库中一样工作。是否有一种方法可以动态应用“
fitToView:false
”或其他解决方案来帮助我实现我所寻找的目标

以下是我的两项职能:

$('.fancybox')
    .attr('rel', 'gallery')
    .fancybox({
        padding : 5,
        fitToView : true,
        openEffect  : 'elastic'
    });
$('.fancyboxer')
    .attr('rel', 'gallery')
    .fancybox({
        padding : 5,
        fitToView : false,
        openEffect  : 'elastic'
    });
您可以使用
afterLoad
回调为每个元素设置fancybox API选项

但首先,您需要一种方法来区分哪些元素将
fitToView
设置为
false
(默认值为
true

您可以通过在绑定到fancybox的锚中设置一个特殊的
类来实现这一点(实际上,您将使用一个单个
为所有元素调用fancybox),如:


请参见

尝试放置
自动标注:true
?而不是
fitToView
?这样,您就不必担心image@KhawerZeshan:选项
autoDimensions
(非
autoDimensions
)适用于fancybox v1.3.x,与v2.x不兼容,与是否在视图端口中调整图像大小无关。
<a class="fancybox" href="{target}">open image with fitToView : true (default)</a>
<a class="fancybox nofit" href="{target}">open image with fitToView : false</a>
$(function () {
    $(".fancybox")
    .attr("rel", "gallery")
    .fancybox({
        padding : 5,
        openEffect  : 'elastic',
        afterLoad: function () {
            if ($(this.element).hasClass("nofit")) {
                $.extend(this, {
                    fitToView: false
                });
            }
        }
    });
});