我使用 Fancybox 在 Intranet 站点上显示复杂的表单。 Fancybox 表单的启动页面使用 Datatables 来过滤和排序数据库中的大量记录。当列表被显着过滤并加载 Fancybox 时,Fancybox 内容可能会超出页面主体。这会导致 Fancybox 覆盖层不显示的白色区域。
除了丑之外,你不能点击这个区域来关闭Fancybox。
使用 CSS、Javascript 或同时使用两者,将我的页面主体增大到至少 Fancybox 的高度的最佳方法是什么?
谢谢!
编辑: 下面政府的解决方案是正确的,但没有解决问题。实际上 Fancybox overlay 本身的高度需要增加。我现在认为这是 Fancybox 的一个错误。看起来如果 body 由于 Fancybox 尺寸而增长,那么叠加层应该自动增加到 body 尺寸。我会将其提交给开发人员。与此同时,如果有人遇到这个问题,我修改过的 Gov 代码将起作用:
// Adjust Fancybox Overlay Height to Large Fancyboxes
function overlayHeight() {
fancyBoxHeight = $('#fancybox-wrap').height();
finalheight = fancyBoxHeight + 300;
$('#fancybox-overlay').css('height', finalheight);
}
我还想指出 Fancybox 是一个非常棒的插件,所以这不应该影响任何人反对使用它!
最佳答案
我刚刚发现修改 CSS 有效。
#fancybox-overlay {
position: fixed; //I just changed the position to fixed, and voila
top: 0;
left: 0;
width: 100%;
z-index: 1100;
display: none;
关于jquery - 相对于 Fancybox 增加高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4159668/