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