【问题标题】:datatable scroll数据表滚动
【发布时间】:2010-04-08 15:27:08
【问题描述】:

我有一个数据表,如果记录超过 20 条,我正在使用滚动条。问题是回发后 div 滚动条会移到顶部。无论如何我可以在回发后修复div滚动的重置。谢谢。

【问题讨论】:

    标签: javascript jsf


    【解决方案1】:

    您可以使用element.scrollTop 在Javascript 中获取和设置元素的当前滚动位置。利用表单的onsubmit 处理程序将其保存为隐藏的输入元素:

    <h:form id="formId" onsubmit="saveScrollPos()">
        <h:inputHidden id="scrollPos" />
        ...
    

    有这个功能

    function saveScrollPos() {
        var scrollPos = document.getElementById('divId').scrollTop;
        document.getElementById('formId:scrollPos').value = scrollPos;
    }
    

    这样它就可以作为请求参数使用,名称为formId:scrollPos。您可以在 onload 期间使用 Javascript 进行设置:

    window.onload = function() {
        var scrollPos = <h:outputText value="#{param['formId:scrollPos']}" />;
        document.getElementById('divId').scrollTop = scrollPos;
    }
    

    这里的divId 显然是您要滚动的&lt;div&gt; 的ID。

    【讨论】:

      猜你喜欢
      • 2011-08-24
      • 1970-01-01
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-05
      相关资源
      最近更新 更多