2010-11-24 6 views
16

मैं prettyPhoto एपीआई का उपयोग करने की कोशिश कर रहा हूँ, लेकिन फ़ायरबग का कहना है कि $ .prettyPhoto.open() एक फंक्शन नहीं है और काम नहीं करते ...jQuery: PrettyPhoto एपीआई

कोड काम नहीं कर रहा: http://jsbin.com/ihuje3/3/edit

$(document).ready(function(){ 
    $.prettyPhoto.open('http://www.microdual.com/assets/images/newsletters/doublehosting.jpg','Test','Test desc'); 
}); 
​ 

उत्तर

37

आप इस तरह (क्योंकि कैसे प्लगइन लिखा है, दुर्भाग्य से की) पहली सेटअप prettyPhoto करने के लिए है,:

$(document).ready(function(){ 
    $.fn.prettyPhoto(); //usually $("a[rel^='prettyPhoto']").prettyPhoto(); 
    $.prettyPhoto.open('http://www.microdual.com/assets/images/newsletters/doublehosting.jpg','Test','Test desc'); 
}); 

You can see in the source कि 012 कार्यों की तरहको `$ चलाकर परिभाषित किया गया है।

अन्य समस्या यह है कि प्लगइन को jQuery 1.4.4 में कॉलर संदर्भ के साथ कोई समस्या है, यह 1.4.3 (you can test it here) के साथ ठीक काम करता है। This has been reported on the forums, उम्मीद है कि लेखक जल्द ही इसे संबोधित करेंगे।

+1

धन्यवाद निक;) मेरी दूसरी स्क्रिप्ट पर मैं पहले से ही सुंदरफोटो शुरू कर रहा था, लेकिन विभिन्न स्क्रिप्ट पर। ;) – CuSS

+2

@CuSS - आपका स्वागत है :) निश्चित रूप से अजीब व्यवहार जो आपने यहां पाया है, मुझे यकीन नहीं है कि लेखक ने ऐसा क्यों किया है, ऐसा लगता है कि किसी भी अन्य प्लगइन लेआउट से पूरी तरह से बंद हो जाता है (और कम से कम दस्तावेज़ीकरण में शामिल होना चाहिए। ..it नहीं है, कम से कम नहीं कि मुझे मिल सकता है) –

+1

"और कम से कम प्रलेखन में शामिल होना चाहिए ... कम से कम नहीं, मुझे" मुझे न तो मिल सकता है। मुझे लगता है कि लेखक ने jquery लोड पर कोड नहीं शुरू किया क्योंकि इसे थीम विकल्प आदि सेट करने की आवश्यकता है, इसलिए उपयोगकर्ता खुले कॉल या ईवेंट पर क्लिक करने से पहले सभी कस्टम विकल्प लोड कर सकते हैं। धन्यवाद फिर निक;) – CuSS