首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Javascript的Primefaces 5 datascroller设置scrollHeight

带有Javascript的Primefaces 5 datascroller设置scrollHeight
EN

Stack Overflow用户
提问于 2014-11-13 09:50:31
回答 1查看 2.1K关注 0票数 1

我正在使用Primefaces 5,并设置了一个LazyLoaded数据滚动器,如下所示

代码语言:javascript
复制
<p:dataScroller value="#{controller.dataModel}" var="item" chunkSize="10" lazy="true" mode="inline" scrollHeight="100" id="scroller">
</p:dataScroller>

我希望dataScroller scrollHeight设置为占据页面上空间的全部高度,这是我可以通过JavaScript获得的,而不是固定大小为100的。

我已经绑定了窗口调整大小的方法来重新计算大小并设置它,这是可行的,但是我一开始不能设置它。

设置它的javascript如下所示

代码语言:javascript
复制
$("#scroller > div").css("height", $("#main").height());

然后,我在组件之后调用

代码语言:javascript
复制
<h:outputScript>
    $("#scroller > div").css("height", $("#main").height());
</h:outputScript>

如前所述,如果我调整窗口的大小,而不是在组件最初呈现时,这是可行的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-13 11:01:16

有两件事可能是错的。拥有id="scroller"不会使用id=“滚动器”来呈现组件,而是会在组件id (例如id="form:scroller"或类似于id="j_idt19:scroller"的东西)前面。所以可能是你的选择器不好。但是,如果将其应用于调整大小,则可能与组件很好地匹配,在这种情况下,您的问题可能是由于组件加载但仍未准备好而引起的。无论哪种方式,下面都应该修复它。

代码语言:javascript
复制
        <h:outputScript>
            $(function() {$(".ui-datascroller-content").css("height", "200px");});
        </h:outputScript>

如果你确信这不是问题,你可以改变你的选择器

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26905835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档