Ich habe eine andere unten einfache Lösung dafür, die perfekt für mich funktioniert hat.
Erstellen Sie zunächst ein CSS mit dem Namen Lockon class, das eine transparente Überlagerung darstellt, und laden Sie GIF wie unten gezeigt
.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;
}
Jetzt müssen wir unser div mit dieser Klasse erstellen, die die gesamte Seite als Overlay abdeckt, wenn die Seite geladen wird
<div id="coverScreen" class="LockOn">
</div>
Jetzt müssen wir diesen Deckbildschirm ausblenden, wenn die Seite fertig ist, damit der Benutzer nicht auf ein Ereignis klicken / es auslösen kann, bis die Seite fertig ist
$(window).on('load', function () {
$("#coverScreen").hide();
});
Die obige Lösung ist in Ordnung, wenn die Seite geladen wird.
Jetzt ist die Frage, nachdem die Seite geladen wurde, wann immer wir auf eine Schaltfläche oder ein Ereignis klicken, das lange dauern wird, müssen wir dies im Client-Klick-Ereignis wie unten gezeigt anzeigen
$("#ucNoteGrid_grdViewNotes_ctl01_btnPrint").click(function () {
$("#coverScreen").show();
});
Das heißt, wenn wir auf diese Druckschaltfläche klicken (was lange dauert, bis der Bericht erstellt wird), wird unser Titelbildschirm mit GIF angezeigt, das das Ergebnis liefert. Sobald die Seite über den Fenstern zum Laden bereit ist, wird die Funktion ausgelöst und der Titelbildschirm wird ausgeblendet Sobald der Bildschirm vollständig geladen ist.