我有一个dataTable,如果记录超过,我正在使用scrollBar,让我们说20。问题是回发后div滚动条到顶部。无论如何我可以在回发后修复div的滚动重置。感谢。
答案 0 :(得分: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。