JScrollPane动态高度

时间:2012-09-20 15:40:47

标签: javascript jquery wordpress jscrollpane

可以找到引用的演示页面here

我正在尝试确定点击父类别(例如:Stone Tiles,Stone Sinks)的方式,JScrollPane将重新确定当前高度并根据需要进行调整。不幸的是,我这样做的尝试还没有成功。

我引用了示例here,它提供了以下功能(进行刷新)...

api.reinitialise();

我尝试将此功能设置为由类别父母触发,如此......

var pane = $('.menuwrap')
pane.jScrollPane();
var api = pane.data('jsp');
var i = 1;

$("li.expandable.parent").click(function() {
api.reinitialise();
});

不幸的是,虽然我能够验证是否正在渲染点击,但功能(api.reinitialize)似乎没有效果。我希望一双新鲜的眼睛可以指向正确的方向。 : - )

谢谢!

2 个答案:

答案 0 :(得分:1)

问题是api.reinitialise在点击后立即执行,而li元素还没有展开,所以当jscroll窗格转到重新计算高度时它会出错。您可以尝试添加延迟,但最好的解决方案是将api.reinitialise()绑定到您的列表完成扩展后触发的事件。我不确定你是如何在li中扩展div的,但如果它使用.animate,你可以将api.reinitialise绑定到动画完成事件。

还要注意的是,并非所有的父母都有将父母与他们联系起来的父母。我希望您希望窗格重新初始化所有主要li元素的扩展和折叠。

希望有所帮助!

干杯:)

答案 1 :(得分:0)

你可以做的是默认扩展你的内部div,然后用jquery关闭它们,而不是直接用CSS关闭它们。

所以不要这样做:

.mydiv.closed {display:none}

在将元素绘制到页面后,在jquery中执行此操作:

$('.mydiv.closed').hide();

这会将jscrollpane加载到所需的高度,然后折叠您最初想要隐藏的内容。