0

我有一个 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。

4

1 回答 1

1

您可以检查 jQuery smooth scroll out,这个答案可以指导您。或者 jQuery scrollTo插件,这个答案也包括一个基本的演示。使用时不要忘记提供正确的 HTML 生成的客户端 ID document.getElementById

于 2013-04-13T22:32:50.377 回答