首次打开时,Colorbox无法以适当的高度打开
所以我使用colorbox插件作为联系表单。 我只是默认的颜色框属性,所以它应该自动调整到它包含的div(对吧?)。
那么当它加载FIRST时,这个彩盒内容上有一个小的垂直滚动条。 我已经看到它偶尔会出现在Firefox
和chrome
for OSX
尝试#1
$("a.modalAutosize").each(function(){ $(this).colorbox(); });
例子上的活动代码
$("a.modalAutosize").each(function(){ $(this).colorbox({onOpen: function(){$.fn.colorbox.resize()}}); });
我调查了这个问题。
尝试查看由ajax加载的内容。 如果它有一些没有“高度”和“宽度”属性的图像,则可以显示滚动条。
之所以会发生这种情况,是因为浏览器不知道图像的大小,也不会等到它加载计算页面布局。 第一次加载后,图像位于缓存中,浏览器可以计算大小。
尝试指定图像的大小。 对我来说它有效。
$("a.modalAutosize").each(function(){ $(this).colorbox(); });
您不必在此处编写each()
函数。 您可以关闭滚动。
例如。
$("a.modalAutosize").colorbox({scrolling: false});
我也遇到过这个问题,除了内容中没有任何图像。 我能够通过在包裹我在彩色框中呈现的内容的div上将宽度和高度都设置为100%来解决它。
我没有使用图像,所以接受的答案对我不起作用。 此外,它只发生在使用内联:true时,并且在右下方的X按钮的高度处显示为关闭。 为了解决这个问题,我添加了一个名为inlineHeightAdjustment
的新属性,然后在getHeight
函数中使用它。
在jquery.colorbox.js中:
function getHeight() { settings.h = settings.h || $loaded.height(); settings.h = settings.mh && settings.mh < settings.h ? settings.mh : settings.h; // Adjust height for inline boxes settings.h = settings.inline ? settings.h + settings.inlineHeightAdjustment : settings.h; return settings.h; }
然后在我的网页上:
$(".inlineColorBox").colorbox({ inline: true, inlineHeightAdjustment: 25, });
你可以通过接受一个字符串使它更好,你可以指定em,px,%等,但我知道我想要像素数值假设。