जब तक गैलरी (जिसे आप निर्दिष्ट नहीं करते हैं) पूरी तरह से सीएसएस आधारित है, आपको लगभग निश्चित रूप से कुछ प्रकार के प्रारंभिक कोड को कॉल करने की आवश्यकता है।
आम तौर पर इस गैलरी कोड द्वारा ध्यान रखा जाता है जब यह लोड करता है:
// This "animates" all gallery DIVs **THAT EXIST NOW**
<script src="gallery.js"></script>
चेक गैलरी एपीआई। एक चयनकर्ता को gallerize करने के लिए कहें $.gallery()
पर कॉल करें। तो फिर तुम() .click के आधार पर एक कस्टम गैलरी
इस मामले तुम सिर्फ प्रतिनिधिमंडल के माध्यम से (माना) एक टैग पर क्लिक अवरोधन करने की जरूरत के साथ
success: function(data) {
$("#dv_gallery").append(data);
// The $('#dv_gallery') below includes also the newly appended data
$("#dv_gallery")
.not(".already-initialized")
.addClass("already-initialized")
.gallery();
}
उदाहरण पढ़ने के लिए अपने कोड बदल जाते हैं। इस परिकल्पना में आप अब
$('#dv_gallery a').on('click', function(event) {
...
});
और यह उन ए के लिए काम करता है जो स्थिर रूप से मौजूद हैं। यह काम के साथ गतिशील एक टैग जोड़ बनाने के लिए, आपको क्या करना चाहिए
$('#dv_gallery').on('click', 'a', function(event) {
...
});
सूचना है कि अब यदि आपके पास बाध्य #dv_gallery लिए क्लिक करें घटना, जो मौजूद है, और एक प्रतिनिधि के रूप में कार्य करने के लिए कह के लिए हाल में 'एक जोड़ा .on() को अतिरिक्त पैरामीटर की आपूर्ति करके टैग।FancyBox साथ
उदाहरण:
// Select gallery container
$("#dv_gallery")
// Images are embedded in A tags in Fancybox
.find('a')
// But we do not want to fancybox already gallerified images
.not(".already-initialized")
// And we want to mark as gallerified those we process now
.addClass("already-initialized")
// Everything is ready -- build these new A's into fancyboxes
.fancybox({
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'speedIn' : 600,
'speedOut' : 200,
'overlayShow' : false
});
तो एपीआई काफी बुद्धिमान नहीं पहले से समृद्ध तत्व फिर से gallerify के लिए है, तो आप सेमाफोर वर्गों को जोड़ने की जरूरत नहीं है, लेकिन बस
$("#dv_gallery").append(data);
$("#dv_gallery").gallery();
कर सकते हैं
या अगर यह नहीं है, लेकिन आप जानते हैं कि यह किसी वर्ग कहते हैं, आप सीधे उपयोग कर सकते हैं एक सेमाफोर के रूप में है कि एक:
$("#dv_gallery")
.not(".gallery-class")
.gallery();
लौटा एचटीएमएल
jQuery के साथ स्पष्ट रूप से स्पष्ट समस्याओं का निदान करना jQuery को सही ढंग से संलग्न करना चाहिए; अगर ऐसा नहीं होता, लौट आए दस्तावेज़ के सामग्री प्रकार की जाँच करें, और
$("#dv_gallery").append($(data));
के साथ प्रयास करें या सभी गैलरी की सामग्री की जगह का प्रयास करें:
$("#dv_gallery").html(data);
दोनों ही मामलों आप की आवश्यकता होगी में किसी भी आवश्यक गैलरी प्रारंभिक कोड reinvoke करने के लिए। ये अंतिम दो विकल्प केवल नैदानिक हैं, हालांकि - यदि वे काम करते हैं, तो यह आपको बताता है कि लौटे ऑब्जेक्ट में कुछ ख़राब है।
डेटा: {टाइप: उत्पाद, उपयोग: 'गैलरी'}, ... उत्पाद एक परिवर्तनीय नाम है या यह एक स्ट्रिंग होना चाहिए ... यानी डेटा: {टाइप: 'उत्पाद', उपयोग करें: 'गैलरी'} , –
उत्पाद एक चर है जिसमें एक स्ट्रिंग – Mathew
है जो आप सर्वर साइड भाषा का उपयोग कर रहे हैं? –