"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पृष्ठभूमि छवि लोड हो गई है या नहीं इसकी विश्वसनीय रूप से जांच कैसे करें?

पृष्ठभूमि छवि लोड हो गई है या नहीं इसकी विश्वसनीय रूप से जांच कैसे करें?

2024-11-24 को प्रकाशित
ब्राउज़ करें:217

How to Reliably Check if a Background Image Has Loaded?

बैकग्राउंड इमेज लोडर का उपयोग करना

आप बॉडी टैग पर बैकग्राउंड इमेज सेट करके यह जांचने का प्रयास कर रहे हैं कि बैकग्राउंड इमेज लोड हुई है या नहीं और फिर लोड() फ़ंक्शन का उपयोग करें। हालाँकि, यह दृष्टिकोण पृष्ठभूमि छवियों के लिए प्रभावी ढंग से काम नहीं करता है।

वास्तव में यह सुनिश्चित करने के लिए कि पृष्ठभूमि छवि पूरी तरह से लोड हो गई है, आप एक अलग तकनीक का उपयोग कर सकते हैं:

$('<img/>').attr('src', 'http://picture.de/image.png').on('load', function() {
   $(this).remove(); // prevent memory leaks
   $('body').css('background-image', 'url(http://picture.de/image.png)');
});

यह विधि मेमोरी में एक नई छवि बनाती है और एक लोड इवेंट श्रोता को इसके साथ जोड़ती है। एक बार छवि लोड हो जाने के बाद, लोड इवेंट ट्रिगर हो जाता है, और पृष्ठभूमि छवि बॉडी टैग पर सेट हो जाती है।

वेनिला जावास्क्रिप्ट में, इसे इस प्रकार कार्यान्वित किया जा सकता है:

var src = 'http://picture.de/image.png';
var image = new Image();
image.addEventListener('load', function() {
   body.style.backgroundImage = 'url('   src   ')';
});
image.src = src;

आप छवि लोडिंग को संभालने और एक वादा वापस करने के लिए एक अमूर्त फ़ंक्शन भी बना सकते हैं:

function load(src) {
    return new Promise((resolve, reject) => {
        const image = new Image();
        image.addEventListener('load', resolve);
        image.addEventListener('error', reject);
        image.src = src;
    });
}

const image = 'http://placekitten.com/200/300';
load(image).then(() => {
   body.style.backgroundImage = `url(${image})`;
});

यह दृष्टिकोण आपको पृष्ठभूमि छवि लोडिंग के पूरा होने की विश्वसनीय रूप से जांच करने की अनुमति देता है और यह सुनिश्चित करता है कि छवि पूरी तरह लोड होने के बाद ही कोड निष्पादित किया जाता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3