Я использую индикаторы выполнения Bootstrap с использованием JavaScript.Следующие два метода используются для отображения и скрытия прогресса:
function showProgress() {
let oldProgress = document.getElementById('temporaryProgressBar');
if (oldProgress) {
oldProgress.style.visibility = 'visible';
} else {
let progress = document.createElement('div');
progress.id = 'temporaryProgressBar';
progress.classList.add('progress');
let innerProgress = document.createElement('div');
innerProgress.classList.add('progress-bar', 'progress-bar-striped', 'progress-bar-animated');
innerProgress.style.width = "100%";
progress.appendChild(innerProgress);
document.body.children[parseInt(document.body.children.length / 2)].insertAdjacentElement('beforebegin', progress);
}
}
function hideProgress() {
let progress = document.getElementById('temporaryProgressBar');
if (progress) {
progress.style.visibility = 'hidden';
}
}
В настоящее время я вставляю прогресс в центр страницы, почти перед n/2
-ым дочерним элементом тела.Я вставляю его в центр, чтобы убедиться, что пользователь видит индикатор выполнения.Однако это не всегда работает.Допустим, у нас есть ребенок (например, сетка), у которого много детей.Таким образом, вы не можете убедиться, что индикатор выполнения отображается в центре области просмотра.Итак, мне интересно, есть ли более пуленепробиваемый способ получить элемент в центре страницы.
Есть ли способ получить элемент, расположенный в верхней части области просмотра под адресной строкой, независимо от объема страницыуже прокрутили?Если это так, это сделает индикатор выполнения видимым в верхней части видимого окна.