Fancybox:不同的宽度百分比 - 更清晰的脚本?
Fancybox: different width percentages - cleaner script?
我需要 100% 的 fancybox 宽度用于手机,90% 的宽度用于更大的屏幕。我确实调整了通用脚本并且它正在运行,但我知道它看起来像一个穴居人脚本:
if (windowWidth > 480) {
$(".fancybox").fancybox({
openEffect : 'none',
closeEffect : 'none',
iframe : {
preload: false
},
padding: 0,
width : '90%',
height : '90%',
helpers : {
overlay : {
css : {
'background' : 'rgba(0, 0, 0, 0.65)'
}
}
}
});
}else{
$(".fancybox").fancybox({
openEffect : 'none',
closeEffect : 'none',
iframe : {
preload: false
},
padding: 0,
width : '100%',
height : '90%',
helpers : {
overlay : {
css : {
'background' : 'rgba(0, 0, 0, 0.65)'
}
}
}
});
}
所以,我想知道如何分离宽度和高度以避免 "duplicated" 定义。
只需将您的条件语句放入 fancybox afterLoad
回调中,例如:
afterLoad: function () {
if (window.innerWidth > 480) {
this.width = '90%'; // or whatever
this.height = '90%';
} else {
this.width = '100%';
this.height = '90%';
}
}
请注意,为了获得自定义尺寸,您可能需要将 fitToView
选项设置为 false
。您可能还需要调整 fancybox 边距。
我需要 100% 的 fancybox 宽度用于手机,90% 的宽度用于更大的屏幕。我确实调整了通用脚本并且它正在运行,但我知道它看起来像一个穴居人脚本:
if (windowWidth > 480) {
$(".fancybox").fancybox({
openEffect : 'none',
closeEffect : 'none',
iframe : {
preload: false
},
padding: 0,
width : '90%',
height : '90%',
helpers : {
overlay : {
css : {
'background' : 'rgba(0, 0, 0, 0.65)'
}
}
}
});
}else{
$(".fancybox").fancybox({
openEffect : 'none',
closeEffect : 'none',
iframe : {
preload: false
},
padding: 0,
width : '100%',
height : '90%',
helpers : {
overlay : {
css : {
'background' : 'rgba(0, 0, 0, 0.65)'
}
}
}
});
}
所以,我想知道如何分离宽度和高度以避免 "duplicated" 定义。
只需将您的条件语句放入 fancybox afterLoad
回调中,例如:
afterLoad: function () {
if (window.innerWidth > 480) {
this.width = '90%'; // or whatever
this.height = '90%';
} else {
this.width = '100%';
this.height = '90%';
}
}
请注意,为了获得自定义尺寸,您可能需要将 fitToView
选项设置为 false
。您可能还需要调整 fancybox 边距。