可以找到引用的演示页面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)似乎没有效果。我希望一双新鲜的眼睛可以指向正确的方向。 : - )
谢谢!
答案 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加载到所需的高度,然后折叠您最初想要隐藏的内容。