我有一个 xhtml 页面,其中有一组面板堆叠在一起。每个面板都有一个数据表,其中包含特定列作为超链接。当我单击第一个数据表中的超链接时,将呈现第二个数据表。当我单击第二个数据表中的超链接时,将呈现第三个数据表。我希望我的页面向下滚动并在屏幕中央显示新呈现的数据表,而不是将页面加载回屏幕顶部。我怎样才能实现它。下面是我为实现这一目标而编写的代码,但没有运气。
表中的每个超链接都编写了以下代码,
<p:commandLink value="#{abc}" action="#{myBean.myFunction}"
ajax="false" oncomplete="focusPanel3()">
<f:setPropertyActionListener
target="#{myBean.xyz}" value="#{abc}">
</f:setPropertyActionListener>
</p:commandLink>
javascript如下
function focusPanel3() {
var el = document.getElementById("panel3");
el.scrollIntoView();
window.scroll(0, 1200); //Also tried this line. No luck even then
}
在我的 Bean 中,我将下一个面板的渲染属性设置为 true。