Saya punya solusi sederhana di bawah ini untuk ini yang sangat cocok untuk saya.
Pertama-tama, buat CSS dengan nama kelas Lockon yang overlay transparan bersama dengan memuat GIF seperti yang ditunjukkan di bawah ini
.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;
}
Sekarang kita perlu membuat div kita dengan kelas ini yang mencakup seluruh halaman sebagai overlay setiap kali halaman dimuat
<div id="coverScreen" class="LockOn">
</div>
Sekarang kita perlu menyembunyikan layar sampul ini setiap kali halaman siap dan sehingga kita dapat membatasi pengguna dari mengklik / memecat peristiwa apa pun sampai halaman siap
$(window).on('load', function () {
$("#coverScreen").hide();
});
Solusi di atas akan baik-baik saja setiap kali halaman memuat.
Sekarang pertanyaannya adalah setelah halaman dimuat, setiap kali kita mengklik tombol atau acara yang akan memakan waktu lama, kita perlu menunjukkan ini di acara klik klien seperti yang ditunjukkan di bawah ini
$("#ucNoteGrid_grdViewNotes_ctl01_btnPrint").click(function () {
$("#coverScreen").show();
});
Itu berarti ketika kita mengklik tombol cetak ini (yang akan membutuhkan waktu lama untuk memberikan laporan) itu akan menampilkan layar sampul kita dengan GIF yang memberikan hasil dan setelah halaman siap di atas windows pada fungsi beban akan menyala dan yang menyembunyikan layar penutup setelah layar terisi penuh.