我有一个dataTable,如果记录超过了,我正在使用scrollBar,让它说20。问题是回发div滚动条之后。无论如何,我可以在发回后修复div滚动的重置。谢谢。
最佳答案
您可以使用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进行设置:window.onload = function() {
var scrollPos = <h:outputText value="#{param['formId:scrollPos']}" />;
document.getElementById('divId').scrollTop = scrollPos;
}
在这里,
divId
显然是您要滚动的<div>
的ID。关于javascript - 数据表滚动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2601171/