У меня есть еще одно простое решение, которое отлично сработало для меня.
Прежде всего, создайте 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, который дает результат, и как только страница будет готова над окнами при загрузке, сработает функция, которая скрывает экран обложки после того, как экран полностью загружен.