У мене є ще одне просте рішення для цього, яке чудово працювало для мене.
Перш за все, створіть CSS з ім'ям класу Lockon, який прозорий накладення разом із завантаженням GIF, як показано нижче
.LockOn {
display: block;
visibility: visible;
position: absolute;
z-index: 999;
top: 0px;
left: 0px;
width: 105%;
height: 105%;
background-color:white;
vertical-align:bottom;
padding-top: 20%;
filter: alpha(opacity=75);
opacity: 0.75;
font-size:large;
color:blue;
font-style:italic;
font-weight:400;
background-image: url("../Common/loadingGIF.gif");
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
}
Тепер нам потрібно створити наш div з цим класом, який охоплює всю сторінку як накладку, коли сторінка завантажується
<div id="coverScreen" class="LockOn">
</div>
Тепер нам потрібно приховати цей обкладинковий екран щоразу, коли сторінка готова, і щоб ми могли обмежити користувач натисканням / запуском будь-якої події, поки сторінка не буде готова
$(window).on('load', function () {
$("#coverScreen").hide();
});
Наведене вище рішення буде добре, коли сторінка завантажується.
Тепер питання полягає в тому, що після завантаження сторінки, щоразу, коли ми натискаємо кнопку або подію, яка триватиме тривалий час, нам потрібно показати це у події кліку клієнта, як показано нижче
$("#ucNoteGrid_grdViewNotes_ctl01_btnPrint").click(function () {
$("#coverScreen").show();
});
Це означає, що коли ми натиснемо цю кнопку друку (для отримання звіту буде потрібно багато часу), він покаже наш обкладинку з GIF, що дає результат, і як тільки сторінка буде готова над функцією завантаження вікон, та приховає екран обкладинки як тільки екран повністю завантажений.