मैं एक jQuery एनीथिंगस्लाइडर के साथ यूट्यूब एपीआई को बांधने की कोशिश कर रहा हूं, और मैं इसे प्राप्त कर रहा हूं।

अब, मुझे अपने कॉलबैक में कुछ भी स्लाइडर (यूट्यूब एपीआई से "ऑनप्लेयरस्टेट चेंज" के भीतर) से परिभाषित चर "newState" पास करने की आवश्यकता है। यह कोड है, पहले चर और फिर कुछ भी स्लाइडर:

function onPlayerStateChange(newState) {
....
// other stuff not important 
....
}

jQuery.(document).ready(function() {

  jQuery('#myslider').anythingSlider({
    easing : "swing",
    width  : 500,
    ............
    ............
    onSlideComplete : function(){
                      jQuery('.button').click(function(){
                      if (newState == '3') {....}
                      });
                      }
    });
});

यह कोड मुझे लौटाता है: "न्यूस्टेट" अपरिभाषित है..जाहिर है..बहुत बहुत धन्यवाद

0
Riccardo Malesani 26 जुलाई 2011, 12:34
प्रश्न क्या है? आपको कहीं भी न्यूस्टेट के लिए एक मूल्य को स्वीकार करना होगा ... जाहिर है?
 – 
Abe Petrillo
26 जुलाई 2011, 12:36
हां, न्यूस्टेट को "ऑनस्लाइड पूर्ण" एनीथिंगस्लाइडर कॉलबैक में अपरिभाषित किया गया है, जबकि पहले ("ऑनप्लेयरस्टेट चेंज" फ़ंक्शन में) डिफ़ॉल्ट रूप से परिभाषित किया गया है और यह काम करता है ..
 – 
Riccardo Malesani
26 जुलाई 2011, 12:47
तो, सवाल यह है: "मैं एनीथस्लाइडर कॉलबैक के भीतर भी न्यूस्टेट को कैसे परिभाषित कर सकता हूं?" फिर से धन्यवाद ..
 – 
Riccardo Malesani
26 जुलाई 2011, 13:06

2 जवाब

सबसे बढ़िया उत्तर

मुझे यकीन नहीं है कि आप क्या करने की कोशिश कर रहे हैं, लेकिन एनीथिंगस्लाइडर के नवीनतम संस्करण में एक वीडियो एक्सटेंशन< है। /a> जो पैनल के सामने आने पर वीडियो को स्वचालित रूप से चलाना जारी रखेगा, और वीडियो के दृश्य से बाहर होने पर उसे रोक देगा। यह एक्सटेंशन वर्तमान में वीडियो विकी पेज JW प्लेयर और फ्लो प्लेयर (बिना एक्सटेंशन के) को नियंत्रित करने के लिए।

यदि आप इस एक्सटेंशन का उपयोग कर रहे हैं और आपको वीडियो की स्थिति प्राप्त करने की आवश्यकता है, तो इसे इस बाहरी विधि का उपयोग करके एक्सेस किया जा सकता है:

var slider = $('#slider').data('AnythingSlider'),
    index = slider.$currentPage.find('[id^=asvideo]')[0].id.replace(/asvideo/,''),
    status = slider.video.list[index].status;

नोट: स्थिति मान YouTube वीडियो के लिए एक संख्या है और Vimeo वीडियो के लिए एक स्ट्रिंग ('चलाएं', 'रोकें' और 'खत्म') है। HTML5 वीडियो स्थिति को सीधे एक्सेस किया जा सकता है और इसमें कोई स्थिति चर नहीं होता है।

0
Mottie 30 जुलाई 2011, 03:11

आपकी टिप्पणियों के आधार पर:

ऑनप्लेयरस्टेट चेंज में आपके पास न्यूस्टेट नामक एक तर्क है, इसलिए मुझे लगता है कि आप कुछ ऐसा करके उस फ़ंक्शन को कॉल कर रहे हैं

result = OnPlayerStateChange(1);

तो newState हमेशा उस फ़ंक्शन के लिए स्थानीय रूप से परिभाषित किया जाता है।

यदि आप अन्य कार्यों में समान मान का उपयोग करना चाहते हैं, तो आपको इस चर को सभी कार्यों के बाहर, वैश्विक स्थान में परिभाषित करने की आवश्यकता है, इसलिए

var newSate = 1 

(शायद भ्रम से बचने के लिए जेएस स्रोत के शीर्ष पर)

उम्मीद है की वो मदद करदे

0
Abe Petrillo 26 जुलाई 2011, 14:40
मैंने आपके समाधान के बारे में सोचा, लेकिन मुझे न्यूस्टेट वैरिएबल (var newState = 1) का मान नहीं पता है, मुझे इसे 'if' स्टेटमेंट में रखना होगा
 – 
Riccardo Malesani
27 जुलाई 2011, 11:50
प्रत्येक वेरिएबल को एक मूल्य से शुरू होना चाहिए... यदि आप मूल्य नहीं जानते हैं तो आप इसका उपयोग करने के लिए कैसे समर्थन कर रहे हैं? आप ज्यादा समझ में नहीं आ रहे हैं
 – 
Abe Petrillo
27 जुलाई 2011, 18:14
या बस var newState = 0 करें; तो कुछ भी स्लाइडर न्यूस्टेट के मूल्य को बदल देगा?
 – 
Abe Petrillo
27 जुलाई 2011, 18:29