Загрузка страницы с помощью 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();
}
Теперь моя проблема заключается в том, что я вставляю этот индекс на главную страницу, потому что страница автоматически прокручивается сразу к началу, и я хочу загрузить страницу без этого раздражающего эффекта.
Пожалуйста, кто-нибудь может мне помочь? Спасибо
2 ответа
Решение
Я наконец решил, добавив это в конец кода:
e.preventDefault();
return false;
Вы можете сохранить положение прокрутки;
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();
}