我想问一个小问题。
首先,我使用JS加载页面。
function ReLoad() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("box").innerHTML = xhttp.responseText;
}
};
xhttp.open("GET", "calc/index.html", true);
xhttp.send();
}
现在,我的问题是我将此索引插入主页面,因为页面会立即自动滚动到开头,我想加载页面而不会产生这种恼人的效果。
拜托,有人能帮帮我吗? 感谢
答案 0 :(得分:0)
您可以存储滚动位置;
var currentPosition = window.pageYOffset || document.documentElement.scrollTop;
并重新申请:
window.scrollTo(0, currentPosition);
所以你的代码会变成:
function ReLoad() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (xhttp.readyState == 4 && xhttp.status == 200) {
var currentPosition = window.pageYOffset || document.documentElement.scrollTop;
document.getElementById("box").innerHTML = xhttp.responseText;
window.scrollTo(0, currentPosition);
}
};
xhttp.open("GET", "calc/index.html", true);
xhttp.send();
}
答案 1 :(得分:0)
我终于解决了这个问题,将其添加到代码的末尾:
e.preventDefault();
return false;