2012-06-26 4 views
10

मैं flexslider का उपयोग कर रहा हूं। वहाँ this पृष्ठ पर उन्नत नल के नीचे एक उदाहरण (अनुभाग "नए, मजबूत कॉलबैक एपीआई" जहां वे slider.currentSlide का उपयोग वर्तमान स्लाइड की संख्या प्राप्त करने के लिए है।मैं 'फ्लेक्सस्लाइडर' वर्तमान छवि संख्या को एक चर में कैसे प्राप्त करूं जिसे मैं किसी फ़ंक्शन में उपयोग कर सकता हूं?

मैं इस मूल्य एक में उपयोग कर सकते हैं पूरी तरह से अलग कार्य? मैं एक वैश्विक चर के बारे में सोच रहा हूं लेकिन मुझे नहीं पता कि यह काम करेगा या नहीं और मुझे नहीं पता कि वैश्विक रूप में किसी फ़ंक्शन के भीतर एक चर घोषित करना संभव है या नहीं।

उत्तर

17

आप वैश्विक चर घोषित कर सकते हैं और कॉलबैक फ़ंक्शन के बाद मान सेट करें। यहां कुछ छद्म कोड है जो आपको विचार प्राप्त करने में मदद करता है:

var curSlide; 
$(window).load(function() { 
    $('.flexslider').flexslider({ 
    after: function(slider) { 
     window.curSlide = slider.currentSlide; 
    } 
    }); 
}); 

function useCurSlideHere() { 
    alert(window.curSlide); 
} 

हालांकि आदर्श रूप से आप वैश्विक वैरिएबल का उपयोग करने से बचेंगे और आप उस क्लास में उपयोग कर सकते हैं जिसे आप window.load पर एक उदाहरण बनाते हैं और जब आप कॉलबैक फ़ंक्शन के बाद curSlide वैरिएबल पास करते हैं तो इसका उपयोग करें।

$(window).load(function() { 
    var customSlider = new useCurSlideHere(); 
    $('.flexslider').flexslider({ 
    after: function(slider) { 
     customSlider.setCurSlide(slider.currentSlide); 
    } 
    });  
}); 

function useCurSlideHere() { 
    this.curSlide = 0; 

    this.setCurSlide = function(curSlide) { 
    this.curSlide = curSlide; 
    } 

    this.getCurSlide= function() { 
    alert(this.curSlide); 
    } 
} 

संपादित करें: स्लाइडर.currentSlide का उपयोग करने के लिए उत्तर संपादित करें।

$(element).data('flexslider') 

तो आपके मामले में आप उपयोग करेंगे::

+2

अच्छा जवाब है, लेकिन वहाँ वास्तव में एक अधिक स्वच्छ और सरल तरीके से ऐसा करने के लिए, कृपया नीचे मेरा जवाब देखें। – Lewis

+0

अब और काम नहीं करता है slider.currentSlide अपरिभाषित है। @ लुईस का जवाब नौकरी करता है। – D34dman

33

आप के साथ flexslider वस्तु एक्सेस करके वैश्विक चर से बच सकते हैं

$(element).data('flexslider').currentSlide 
+1

यह स्वीकार किए गए एक से बेहतर जवाब है। – agconti

+0

अच्छा एक @ लुईस –

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

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