2011-03-18 5 views
37

मैं अपने एएसपीनेट एमवीसी साइट के साथ मूविंगबॉक्स प्लगइन का उपयोग करने की कोशिश कर रहा हूं और यह काम नहीं कर रहा है (जाहिर है)। मैं इतनाUncaught TypeError: ऑब्जेक्ट # <Object> में कोई तरीका नहीं है 'movingBoxes'

<script src="<%: Url.Content("~/Scripts/jquery.movingboxes.js")%>" type="text/javascript"></script> 

तरह site.master में मेरे सिर टैग में आयातित movingboxes.js है और ब्राउज़र सफलतापूर्वक इस स्क्रिप्ट हो जाता है। अब मैं movingBoxes प्लगइन

<script type="text/javascript"> 
    $(document).ready(function() { 
     $($('#slider-one')); 
     $('#slider-one').movingBoxes({ 
      startPanel: 1,  
      panelWidth: .5,  
      fixedHeight: false 
     }); 

     $('#slider-two').movingBoxes({ 
      startPanel: 1,  
      panelWidth: .5,  
      fixedHeight: false 
     }); 
    }); 
</script> 

जब मैं पृष्ठ को देखने के लिए एक नियमित राय यह है कि site.master कि कॉल उस में jQuery का यह छोटा सा है से विरासत है। हर बात (अन्य jQuery सामान सहित) ठीक काम करता है इस प्लगइन के अलावा और मैं इस त्रुटि मिलती है

enter image description here

और यहाँ त्रुटि enter image description here

किसी भी मदद की सराहना की जाएगी का वर्णन है

EDIT

तो जाहिर है कि मेरे पास यह था:

<script type="text/javascript" src="../../Scripts/jquery-1.4.1.js" /> 
    <script src="<%: Url.Content("~/Scripts/jquery.movingboxes.js")%>" type="text/javascript"></script> 

और यह करने के लिए इसे बदल कर अब काम करता है:

<script type="text/javascript" src="../../Scripts/jquery-1.4.1.js"></script> 
    <script src="<%: Url.Content("~/Scripts/jquery.movingboxes.js")%>" type="text/javascript"></script> 
+0

मुझे कुछ भी गलत नहीं दिख रहा है (सिवाय मुझे नहीं पता कि '$ ($ ('# स्लाइडर-वन') क्या है; 'शीर्ष पर वहां लटकना)। शायद जांचें कि फ़ाइल सही तरीके से शामिल है या नहीं। – Haochi

+2

क्या आप पुष्टि कर सकते हैं कि jQuery जावास्क्रिप्ट फ़ाइल "movingboxes" से पहले लोड हो गई है? यदि वे गलत अनुक्रम में हैं तो आपको कुछ त्रुटि मिल जाएगी जो आप देख रहे हैं। – Neil

+0

उसने पहले इसके अंदर $ ('# स्लाइडर-वन') के साथ एक चेतावनी स्थापित की थी, यह वह जगह है जहां शीर्ष पर लटकने वाला चयनकर्ता आता है। – Hacknightly

उत्तर

41

कुछ चीजें आप इस काम के प्राप्त करने की कोशिश कर सकते हैं।

  1. हो पूरी तरह से सुनिश्चित अपनी स्क्रिप्ट पेज में खींचा जा रहा है, जांच करने के लिए एक ही रास्ता क्रोम डिबगर में 'सूत्रों' टैब का उपयोग करके और फ़ाइल के लिए खोज कर रहा है।

  2. सुनिश्चित करें कि आपने jQuery को शामिल करने के बाद स्क्रिप्ट को शामिल किया है, क्योंकि यह निश्चित रूप से उस पर निर्भर है।

इसके अलावा, मैंने एपीआई की जांच की और आप निश्चित रूप से सबकुछ कर रहे हैं जहां तक ​​मैं देख सकता हूं। शुभकामनाएं दोस्त!

संपादित करें: सुनिश्चित करें कि आप अपना स्क्रिप्ट टैग बंद करें। नीचे एक जवाब है जो समाधान के लिए इंगित करता है।

+3

thx बहुत आदमी .... मैं इस लंबे समय की तलाश में था ... आखिरकार परिणाम यह है कि जावास्क्रिप्ट फ़ाइल का ऑर्डर करना ... thx फिर –

+1

यह गुम बंद टैग के कारण काम नहीं किया .. कृपया SaschaM78 –

+9

से नीचे सही उत्तर को संशोधित करें, मैं यह भी कहूंगा: सुनिश्चित करें कि आप गलती से jQuery को कई बार शामिल नहीं करते हैं, अन्यथा दूसरा आयात पहले से आयात किए गए प्लगइन को मिटा सकता है। –

4

मुझे एक ही समस्या थी। मैंने हेड भाग में स्क्रिप्ट का क्रम बदल दिया, और यह मेरे लिए काम किया। प्रत्येक स्क्रिप्ट प्लगइन की ज़रूरत है - बंद रहने की जरूरत है।

उदाहरण के लिए:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> 
<script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('#slider').cycle({ 
      fx: 'fade' 
     }); 
    }); 
</script> 
14

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

अधिक जानकारी के बारे में जो टैग स्वयं बंद कर दिया जा सकता है, एचटीएमएल 5 के लिए W3C ड्राफ्ट पर एक नजर है (हालांकि परिभाषा पहले एचटीएमएल-संस्करणों में कोई अलग था):

http://www.w3.org/TR/html5/syntax.html#end-tags (8.1.2.1, प्वाइंट 6)

1

मुझे ऐसी समस्या भी थी क्योंकि मैं आईएमजी टैग और यूएल टैग का उपयोग कर रहा था।

$('#mydiv').corner(), $('#myspan').corner(), $('#myp').corner() जैसे तत्वों के लिए 'कोनों' प्लगइन को लागू करने का प्रयास करें, लेकिन $('#img').corner() के लिए नहीं! यह नियम अनुकरण राउंड कोने प्रभाव के लिए निर्दिष्ट तत्व में बाल डीआईवी जोड़ने से संबंधित है। जैसा कि हम जानते हैं कि आईएमजी तत्व में कोई भी बाल तत्व नहीं हो सकता है।

मैंने div के भीतर एक आवश्यक तत्व लपेटकर और आईएमजी को पृष्ठभूमि के साथ डीवी में बदलकर हल किया है: सीएसएस संपत्ति।

शुभकामनाएं!

4

मुझे jquery उत्तरदायी स्लाइड प्लगइन (http://responsive-slides.viljamis.com/) के साथ बस यही समस्या थी।

मैं jQuery लघु संस्करण $(".rslides").responsiveSlides(.. बल्कि लंबे संस्करण का उपयोग नहीं द्वारा यह तय: jQuery(".rslides").responsiveSlides(...

तो $jQuery का उपयोग करने जा इतनी के रूप में संघर्ष पैदा करने के लिए नहीं है या उचित jQuery कोई विवाद मोड का उपयोग कर (http://api.jquery.com/jQuery.noConflict/)

+0

धन्यवाद, मुझे उत्तरदायी स्लाइड के साथ भी एक ही समस्या थी। –

2

जब मुझे यह समस्या थी तो ऐसा इसलिए था क्योंकि मैं किसी अज्ञात फ़ंक्शन के स्थान पर वास्तविक फ़ंक्शन का उपयोग करने का प्रयास कर रहा था।

गलत:

$(document).on('change', "#MyId", MyFunction()); 

सही

$(document).on('change', "#MyId", MyFunction); 

या भी सही है और आप घटना वस्तु या अन्य पैरामीटर पारित करने के लिए की जरूरत है।

$(document).on('change', "#MyId", function(e) { MyFunction(e); }); 
+1

मैं जावास्क्रिप्ट में विश्वास करता हूं कि आप अभी भी एक अज्ञात फ़ंक्शन को लपेटे बिना सीधे MyFunction पर जा सकते हैं, बस इस तरह के पैराथेसिस को हटा दें: $ (दस्तावेज़) .on ('change', "#MyId", MyFunction); – Joshua

+0

इसका उल्लेख करने के लिए बहुत बहुत धन्यवाद! मैंने उस जवाब को अद्यतन किया है जिस पर मैं काम कर रहा हूं। –

1

असल में मुझे लगता है कि आपने स्क्रिप्ट का केवल एक हिस्सा डाउनलोड किया है। jquery साइट में पूरी स्क्रिप्ट डाउनलोड करने से पहले 'कोर' चेकबॉक्स को चेक करने का प्रयास करें।

0

यह सुनिश्चित करना भी एक अच्छा विचार है कि आप jQuery के सही संस्करण का उपयोग कर रहे हैं। मैंने हाल ही में jQuery 1.6.2 का उपयोग कर एक प्रोजेक्ट हासिल किया था जो होवरइन्टेंट प्लगइन के साथ काम नहीं कर रहा था। इसे मेरे लिए तय किए गए नवीनतम संस्करण में अपग्रेड करना।

0

मुझे पता चला कि मैं अपने रेंडर के लिए एक चयनकर्ता का उपयोग कर रहा था ताकि मैं अपने कॉलम हाईचार्ट्स ग्राफ को प्रस्तुत करने के लिए उपयोग कर रहा था। स्पष्ट रूप से यह आपके लिए चयनकर्ता जोड़ता है ताकि आपको आईडी पास करने की आवश्यकता हो।

प्रस्तुत करने के लिए: $ ('# myGraphDiv') एक स्ट्रिंग 'myGraphDiv' में यह त्रुटि तय करता है कि यह किसी और को भी मदद करता है।

1

मुझे वही समस्या थी जो मैंने दो बार jquery से जुड़ा था। बाद का संस्करण मेरी प्लगइन ओवरराइट कर रहा था।

मैंने बाद में बाद में jquery को काम करना शुरू कर दिया।

+0

मैंने गलती से यह गलती भी की –

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