我正在使用Primefaces 5,并设置了一个LazyLoaded数据滚动器,如下所示
<p:dataScroller value="#{controller.dataModel}" var="item" chunkSize="10" lazy="true" mode="inline" scrollHeight="100" id="scroller">
</p:dataScroller>我希望dataScroller scrollHeight设置为占据页面上空间的全部高度,这是我可以通过JavaScript获得的,而不是固定大小为100的。
我已经绑定了窗口调整大小的方法来重新计算大小并设置它,这是可行的,但是我一开始不能设置它。
设置它的javascript如下所示
$("#scroller > div").css("height", $("#main").height());然后,我在组件之后调用
<h:outputScript>
$("#scroller > div").css("height", $("#main").height());
</h:outputScript>如前所述,如果我调整窗口的大小,而不是在组件最初呈现时,这是可行的。
发布于 2014-11-13 11:01:16
有两件事可能是错的。拥有id="scroller"不会使用id=“滚动器”来呈现组件,而是会在组件id (例如id="form:scroller"或类似于id="j_idt19:scroller"的东西)前面。所以可能是你的选择器不好。但是,如果将其应用于调整大小,则可能与组件很好地匹配,在这种情况下,您的问题可能是由于组件加载但仍未准备好而引起的。无论哪种方式,下面都应该修复它。
<h:outputScript>
$(function() {$(".ui-datascroller-content").css("height", "200px");});
</h:outputScript>如果你确信这不是问题,你可以改变你的选择器
https://stackoverflow.com/questions/26905835
复制相似问题