12

因此,我将colorbox插件用于联系表单。我只是默认的颜色框属性,所以它应该自动调整到它包含的 div (对吗?)。

那么当它第一次加载时,这个颜色框内容上有一个小的垂直滚动条。我已经看到它Firefox偶尔发生chromeOSX

尝试#1

$("a.modalAutosize").each(function(){
    $(this).colorbox();

});

示例中的活动代码

$("a.modalAutosize").each(function(){
    $(this).colorbox({onOpen: function(){$.fn.colorbox.resize()}});

});
4

4 回答 4

15

我已经调查了这个问题。

尝试查看您通过 ajax 加载的内容。如果它有一些没有“高度”和“宽度”属性的图像,则可以出现滚动条。

发生这种情况是因为浏览器不知道图像的大小,也不会等到它加载后才计算页面布局。第一次加载后,图像在缓存中,浏览器可以计算大小。

尝试为您的图像指定尺寸。对我来说它有效。

于 2011-01-26T11:59:36.497 回答
5
$("a.modalAutosize").each(function(){
   $(this).colorbox();  
});

您不必each()在这里编写函数。您可以关闭滚动。

例如。

$("a.modalAutosize").colorbox({scrolling: false});
于 2010-07-16T06:24:36.267 回答
1

我也遇到了这个问题,只是它发生在内容中没有任何图像。我能够通过在一个 div 上将宽度和高度都设置为 100% 来解决这个问题,该 div 包装了我在颜色框中渲染的内容。

于 2011-09-03T06:32:27.493 回答
0

我没有使用图像,所以接受的答案对我不起作用。此外,它仅在使用 inline: 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、% 等,但我知道我想要像素,因此是数值假设。

于 2014-09-17T00:51:49.137 回答