2011-12-24 15 views
6

मैंने window.onload फ़ंक्शन में कुछ बग देखा है। (शायद यह मेरा गलत है) समस्या तब होती है जब मैंने निम्नलिखित सरल फ़ंक्शन का उपयोग किया, यह सभी ब्राउज़रों पर काम करता था लेकिन क्रोम।window.onload फ़ंक्शन समस्या

var name=$("#name"); 
window.onload = function(){ 
    name.fadeIn(500); 
}; 

तो बस हित के लिए भी यह एक कोशिश की:

Uncaught TypeError: Object [object Object] has no method 'fadeIn' 

मैं इस सुलझाया है:

var name; 
window.onload = function(){ 
    name=$("#name"); 
    name.fadeIn(500); 
}; 

सब से ऊपर मामलों में, Chrome की देव उपकरण मुझे इस त्रुटि संदेश दिया निम्नलिखित कोड के साथ त्रुटि।

window.onload = function(){ 
    var name=$("#name"); 
    name.fadeIn(500); 
}; 

लेकिन अब कुछ स्पष्टीकरण चाहते हैं, कोड के पहले 2 टुकड़े क्यों नहीं काम करते?

+1

दूसरे उदाहरण के बारे में पता नहीं है, लेकिन कोड का पहला ब्लॉक उस तत्व का अनुरोध कर रहा है जो अभी तक मौजूद नहीं है। –

+0

मैंने इसके साथ काम करने से पहले 'name' को कैश किया, 'var name = $ (" # name "); और फिर, अन्य सभी ब्राउज़रों पर यह केवल काम करता है क्रोम ने त्रुटि –

+0

कैशिंग द्वारा आपका क्या मतलब है? मैं एक JQuery विशेषज्ञ नहीं हूं, लेकिन अगर '$()' फ़ंक्शंस अनिवार्य रूप से 'getElementById() 'फ़ंक्शंस हैं, तो' name' तत्व अभी तक डोम में लोड नहीं हो सकता है। क्रोम के लिए यह अनन्य क्यों है, हालांकि यह एक गूढ़ व्यक्ति है। क्या आप अपनी स्क्रिप्ट को पेज के नीचे रास्ते में रखते हैं? –

उत्तर

4

मुझे लगता है कि यह नाम के रूप में एक वैश्विक चर के लिए हो सकता है। यदि आप नाम को कुछ अलग कहते हैं, name1, यह क्रोम में काम करता है। http://jsfiddle.net/R2PuZ/1/

+1

ओएमजी))। मैंने इसके बारे में भी सोचा नहीं था। धन्यवाद –

+0

हाँ, मैंने इसके साथ थोड़ा सा खेला ... सफारी में एक वैश्विक चर के लिए मूल्य आवंटित करने से यह स्वीकार होगा कि यह एक तत्व है, लेकिन इसमें कोई (या कम से कम कुछ) गुण नहीं होंगे (जैसे आंतरिक HTML) । हालांकि फ़ायरफ़ॉक्स में काम करता है। बहुत अजीब। –

+0

हाँ, उन चीजों में से एक जो आपको आधी रात के तेल को जला देता है :) यह बहुत दिलचस्प है कि नाम "परिणाम" पर सेट है, जो jsfiddle में iframe के नाम से आता है जहां परिणाम प्रदर्शित होता है। अभी भी इसके साथ खेल रहा है .. –

संबंधित मुद्दे