Javascript 使用ajax加载内容后重新定位Fancybox 2

Javascript 使用ajax加载内容后重新定位Fancybox 2,javascript,jquery,html,css,fancybox-2,Javascript,Jquery,Html,Css,Fancybox 2,我正在加载一个带有ajax的fancybox,其中大部分内容是一个大图像。 fancybox在中间加载,但图像需要更长的时间,高度也会增加,所以现在它位于屏幕的下半部分 由于图像大小不同,我无法设置固定高度。我想我需要重新定位后,图像已经完成加载,但由于稀缺的文档,我不知道如何 我知道有一个重新定位功能,但它似乎不工作的方式,我应用它。我猜我需要在图像加载完成后进行检查,然后应用重新定位功能 我目前正在用以下方式调用“花式盒子”: $(window).load(function() {

我正在加载一个带有ajax的fancybox,其中大部分内容是一个大图像。 fancybox在中间加载,但图像需要更长的时间,高度也会增加,所以现在它位于屏幕的下半部分

由于图像大小不同,我无法设置固定高度。我想我需要重新定位后,图像已经完成加载,但由于稀缺的文档,我不知道如何

我知道有一个重新定位功能,但它似乎不工作的方式,我应用它。我猜我需要在图像加载完成后进行检查,然后应用重新定位功能

我目前正在用以下方式调用“花式盒子”:

$(window).load(function() {
    $('.fancybox_gallery_wrapper')
        .fancybox.showLoading()
            .fancybox({
        openEffect  : 'none',
        closeEffect : 'none',
        prevEffect  : 'none',
        nextEffect  : 'none',
        maxWidth    : 900,
        maxHeight   : 700,
        fitToView   : false,
        width       : '50%',
        arrows      : true,
        helpers : {
            media : {},
            buttons : {},
            overlay : {
                css : {
                    'background' : 'rgba(0,0,0,0.8)'
                }
            }
        }
    });
});
当图像加载完毕,然后将花式方框重新定位到屏幕中央时,最好的检查方法是什么?

请参阅

$(“.fancybox”)
.attr('rel','gallery')
.fancybox({
填充:0,
差额:5,
下一个效果:“褪色”,
效果:“无”,
后加载:函数(){
$。扩展(此{
方面:错误,
键入:“html”,
宽度:“70%”,//弹出图像宽度-根据需要设置
高度:“70%”,//弹出图像高度-根据需要设置
内容:“”
});
}
});

你能包括JSFIDLE吗。如果你有
fitToView:false
那么你的大图像将永远离屏谢谢JFK,但我的最大图像大小约为1000x800px,所以只要它们居中,我就不太担心它们离屏。干杯,戴夫!尽管我不想要任何效果,但以上事实上让我玩了很多效果。我发现,如果启用“打开”、“下一个”和“上一个”效果,将使fancybox居中!所以我的解决方案是简单地启用特效,然后将特效速度设置为可笑的速度,这样你就不会注意到了。一个不幸的黑客,但它的工作!
$(".fancybox")
    .attr('rel', 'gallery')
    .fancybox({
        padding    : 0,
        margin     : 5,
        nextEffect : 'fade',
        prevEffect : 'none',
        afterLoad  : function () {
            $.extend(this, {
                aspectRatio : false,
                type    : 'html',
                width   : '70%',   // pop up image width - set as required 
                height  : '70%',   // pop up image height- set as required 
                content : '<div class="fancybox-image" style="background-image:url(' + this.href + '); background-size: cover; background-position:50% 50%;background-repeat:no-repeat;height:100%;width:100%;" /></div>'
            });
        }
    });