使用 xhttp 加载页面
Loading a page with xhttp
有个小问题想请教
首先,我使用 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();
}
现在,我的问题是当我将此索引插入主页时,因为页面会立即自动滚动到开头,我希望加载页面时不会出现这种烦人的效果。
拜托,有人可以帮助我吗?
谢谢
您可以存储滚动位置;
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();
}
我终于解决了,在代码末尾添加了这个:
e.preventDefault();
return false;
有个小问题想请教
首先,我使用 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();
}
现在,我的问题是当我将此索引插入主页时,因为页面会立即自动滚动到开头,我希望加载页面时不会出现这种烦人的效果。
拜托,有人可以帮助我吗? 谢谢
您可以存储滚动位置;
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();
}
我终于解决了,在代码末尾添加了这个:
e.preventDefault();
return false;