2012-02-20 43 views
10

की 'nodename' पढ़ा नहीं जा सकता इस समस्या को केवल जूमला में प्रकट होता है -Uncaught TypeError: गुण अपरिभाषित

im मेरी जूमला साइट के साथ contentflow प्लगइन का उपयोग करने की कोशिश कर

इस प्लगइन साइट है - http://www.jacksasylum.eu/ContentFlow/

यह मेरा साइट है - यह बस हमेशा के लिए

लोड हो रहा है चरण पर रहता है - http://2-dweb.com/RND/

के रूप में आप यह does not काम देख सकते हैं

करीब निरीक्षण पर मैं देख सकता हूँ इस कोड के साथ एक समस्या यह है कि:

if (this.content.nodeName == "IMG") { 
    CFobj._imagesToLoad++; 

    var foobar = function() { 
     CFobj._imagesToLoad--; 
     this.image = this.content; 
     this.setImageFormat(this.image); 
     if (CFobj.conf.reflectionHeight > 0) { 
      this.addReflection(); 
     } 
     this.initClick(); 
     CFobj._addItemCueProcess(true); 
    }.bind(this); 

    if (this.content.complete && this.content.width > 0) 
     window.setTimeout(foobar, 100); 
    else if (this.Browser.IE && !this.content.onload) { 
     var self = this; 
     var t = window.setInterval(function() { 
      if (self.content.complete && self.content.width > 0) { 
       window.clearInterval(t); 
       foobar(); 
      } 
     }, 10); 
    } 
    else 
     this.content.onload = window.setTimeout(foobar, 100); 
} 
else { 
    this.initClick(); 
    CFobj._addItemCueProcess(true); 
} 

}; 
पहली पंक्ति के साथ

- यह कहते हैं, "Uncaught TypeError: संपत्ति पढ़ा नहीं जा सकता 'nodename' अपरिभाषित की"

लेकिन इस चीज मेरी डेस्कटॉप एचटीएमएल फाइल पर और प्लगइन साइट पर स्वयं काम करती है!

यह मेरी जूमला साइट पर क्यों काम नहीं करता है? इसकी नहीं एक संघर्ष बात - im कोई संघर्ष का उपयोग कर और मैं अन्य jQuery वाले प्लग इन काम करते हैं

अद्यतन:

लूटने डब्ल्यू मुझे इस त्रुटि के साथ मदद की: "यदि करने के लिए पहली पंक्ति बदलें (this.content । & & this.content.nodeName == "आईएमजी") {यही समस्या "

हल करती है और यह किया है, लेकिन अब एक और त्रुटि दिखाई देती है:

initClick: function() { 
     var cItem = this.clickItem; 
     this[this._activeElement].addEvent('click', cItem, false); 
    }, 

त्रुटि - Uncaught TypeError: अपरिभाषित

+0

पहली पंक्ति बदलें 'if (this.content && this।content.nodeName == "आईएमजी") {'। यह समस्या हल करता है। –

+0

ठीक है, यह एक समस्या तय करता है, लेकिन अब इस कोड पर एक समस्या है: initClick: function() { var cItem = this.clickItem; यह [this._activeElement] .addEvent ('क्लिक करें', cItem, false); } यह कहता है: "Uncaught TypeError: अपरिभाषित" addEvent 'विधि को कॉल नहीं कर सकता " –

+0

रेल (3.2.15) के साथ उपयोग करने का प्रयास करते समय एक समान समस्या मिली -' contentflow' मणि के माध्यम से उपयोग करते समय भी लागू होती है। –

उत्तर

9

की विधि 'addEvent' को कॉल नहीं कर सकता है क्योंकि त्रुटि बताती है कि "Uncaught TypeError: अपरिभाषित की संपत्ति 'नोडनाम' नहीं पढ़ सकता है" जब स्क्रिप्ट इसे एक्सेस करने का प्रयास करती है तो तत्व उपलब्ध नहीं होता है। आप इसे दो तरीकों से हल कर सकते हैं।

  • दस्तावेज़ के साथ कोड को लपेटने का प्रयास करें। पहले से ही।
  • आप यह जांच सकते हैं कि तत्व इसे एक्सेस करने से पहले उपलब्ध है या नहीं। ऐसा करने के लिए एक खंड का उपयोग करें।
+0

मुझे लगता है कि फ़ाइल में जेएस पहले से ही 'document.ready' में लपेटा जा चुका है, लेकिन मैं निश्चित रूप से जांच करूँगा। –

+0

ऐसा लगता है कि यह नहीं है। मैंने सोचा कि यह बाइंडिंग के साथ हो सकता है लेकिन ऐसा कोई प्रभाव नहीं प्रतीत होता है। –

1

सभी तत्वों को DOM में लोड करने के बाद अपनी स्क्रिप्ट केवल लोड करें।

आपकी स्क्रिप्ट इस

<html> 
    <head></head> 

    <body> 
    <!--HTML Elements here--> 

    <script type="text/javascript" src="yourScript.js"></script> 
    </body> 
</html> 

की तरह पृष्ठ के तल पर बुलाया जाना चाहिए आप jQuery का उपयोग कर रहे हैं, तो आप स्क्रिप्ट फ़ाइल अपने पेज में कहीं भी शामिल कर सकते हैं अगर यह document.ready में लपेटा जाता है, की तरह यह:

$(document).ready(function(){ 

    // your code here.. 

}); 
1

यह महत्वपूर्ण है कि आप class="content" का उपयोग करें। संरचना होनी चाहिए:

<div class="ContentFlow" id="cover-menu"> 
     <div class="flow"> 
      <div class="item" > 
       <div class="content"> 
        //your stuff 
       </div> 
      </div> 
     </div> 
</div> 
संबंधित मुद्दे