2010-04-08 28 views
1

我有一個dataTable和我正在使用scrollBar,如果記錄超過,讓說20。問題是後回滾div滾動條到頂部。無論如何,我可以修復後的div的滾動重置。謝謝。datatable滾動

回答

2

您可以使用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請求參數。您可以使用JavaScript的onload期間設置:

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

這裏divId顯然是要滾動<div>的ID。