引用的演示页面可以在here中找到。
我正在尝试确定一种方法,在单击父类别(例如:石砖、石槽)时,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)似乎不起作用。我希望一双新的眼睛能给我指引正确的方向。:-)
谢谢!
发布于 2012-09-21 00:16:51
问题是,api.reinitialise会在单击之后立即执行,而li元素还没有展开,所以当jscroll窗格重新计算高度时,它就会出错。您可以尝试添加延迟,但最好的解决方案是将api.reinitialise()绑定到一个事件,该事件在您的列表完成扩展后触发。我不确定您是如何在li中展开api.reinitialise的,但是例如,如果它使用的是.animate,您可以将div绑定到动画完成事件。
还注意到,并不是所有的父类li都有与之关联的父类。我期望您希望窗格在所有主li元素的展开和折叠时重新初始化。
希望这能有所帮助!
干杯:)
发布于 2013-01-17 17:49:22
您可以做的是在默认情况下展开内部div,然后使用jquery关闭它们,而不是直接在CSS中关闭它们。
因此,与其这样做:
.mydiv.closed {display:none}在将元素绘制到页面后,在jquery中执行此操作:
$('.mydiv.closed').hide();这将在必要的高度加载jscrollpane窗格,然后折叠最初要隐藏的内容。
https://stackoverflow.com/questions/12516138
复制相似问题