मेरे पास इसके लिए एक और सरल समाधान है जो मेरे लिए पूरी तरह से काम करता है।
सबसे पहले, एक सीएसएस बनाएं जिसका नाम लॉकऑन क्लास है जो नीचे दिखाए गए अनुसार 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();
});
इसका मतलब है कि जब हम इस प्रिंट बटन पर क्लिक करते हैं (जो रिपोर्ट देने में लंबा समय लेगा) तो यह हमारी कवर स्क्रीन को जीआईएफ के साथ दिखाएगा जो परिणाम देता है और पेज लोड होने पर विंडो के ऊपर तैयार होने से आग लग जाएगी और जो कवर स्क्रीन को छिपा देगा एक बार स्क्रीन पूरी तरह से भरी हुई है।