如果没有CSS中的硬编码宽度,JQuery jscrollpane水平滚动条不会出现

时间:2013-07-13 23:22:21

标签: javascript jquery jquery-jscrollpane

我有2个嵌套的DIV,内部的DIV具有固定高度(但任意宽度)的图像,这些图像在水平方向上彼此靠近排列。

我想使用jScrollpane,以便有水平滚动条来显示div视口外的图像。事先不知道图像列表,它将动态来自CMS,因此我无法在CSS中硬编码内部DIV的宽度。

当我对内部div的宽度进行编码时,水平滚动条工作正常。但是,当我删除它时,水平滚动条消失了,即使DIV有display:inline-block并且我通过Chrome的元素检查器检查了它的宽度实际上正在扩展。

我还注意到,当我将autoReinitialise: true属性传递给jscrollpane时,水平滚动条会在几秒钟后出现。但似乎这会减慢一切,因为它每隔几秒就会检查一次。

使jScrollpane意识到内部div大于外部可滚动div的正确方法是什么?

我在这里创建了一个JSFiddle:http://jsfiddle.net/793CB/1/

我在CSS(最后一行)中添加了注释,显示了固定宽度,如果删除则显示问题。

1 个答案:

答案 0 :(得分:1)

初始化滚动条时,图像尚未加载,因此宽度不可用。 这似乎解决了这个问题:http://jsfiddle.net/793CB/3/

$(window).load(function () {
        $('#scroller').jScrollPane();
});

...在$(document).ready()上,DOM已加载,但图片可能仍在进行中