【发布时间】:2021-12-12 20:58:12
【问题描述】:
我有一个旧版应用程序在 Edge Chromium 中以兼容模式 (IE11) 运行。页面的一部分使用 AJAX 每 10 秒自动刷新一次表。当用户滚动查看表格的结果时,它会自动刷新并且他们会在表格中失去自己的位置。由于环境非常动态,需要经常刷新。
“window.scrollTo(0,yElemnt);”不起作用,因为它试图滚动整个窗口而不是 TPicks.asp 中的表格。
function ShowPicks(){
var elmnt = ""
var yElmnt = 0
if (document.getElementById("scrollPicks")) {
elmnt = document.getElementById("scrollPicks");
yElmnt = elmnt.scrollTop;
}
if (window.XMLHttpRequest) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("AutoPickDiv").innerHTML = this.responseText;
if (document.getElementById("scrollPicks")) {
alert(yElmnt);
document.scrollTo(0,yElmnt);
}
}
}
}
//alert("Picks.asp");
var RandNbr = Math.round(Math.random()*10000000);
xmlhttp.open("POST", "TPicks.asp", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send("rand=" + RandNbr);
}
如何让表格只滚动?我有表格当前滚动到“elmnt.scrollTop;”内的像素位置。 AJAX 调用返回完整后的警报显示当前滚动位置也在哪里 - “alert(yElmnt);”。
感谢您的帮助!
【问题讨论】: