2012-07-27 24 views
6

मेरे पास एक स्लाइड शो है जिसे मैं लगातार ऑटो प्ले और लूप करना चाहता हूं। मुझे स्निपेट मिल गए हैं जो मुझे वैश्विक स्लाइड अवधि सेट करने दें और आगे बढ़ने के लिए setInterval() कॉल के साथ impress.next() का उपयोग करें, लेकिन फिर मैं प्रत्येक स्लाइड के लिए अलग-अलग अवधि रखने की क्षमता खो देता हूं।impress.js स्लाइड शो ऑटो प्ले और लूप

उत्तर

26

मुझे अपना समाधान साझा करने में खुशी है। यदि आप सुधार के लिए कमरा देखते हैं तो शर्मीली न हों। उम्मीद है कि यह किसी को वहां मदद करता है।

<script> 
    var impress = impress(); 
    impress.init(); 

    document.addEventListener('impress:stepenter', function(e){ 
    if (typeof timing !== 'undefined') clearInterval(timing); 
    var duration = (e.target.getAttribute('data-transition-duration') ? e.target.getAttribute('data-transition-duration') : 2000); // use the set duration or fallback to 2000ms 
    timing = setInterval(impress.next, duration); 
    }); 
</script> 
+0

बहुत उपयोगी समय बचाया गया। इसके लिए +1 :) –

+1

धन्यवाद! यह मुझे सही दिशा में जा रहा है। हालांकि, मैंने कुछ समस्याओं में भाग लिया। कई चरणों पर कस्टम डेटा-संक्रमण-अवधि का उपयोग करना, एक छोटी अवधि का उपयोग करने के बाद स्लाइड शो धीमा करना मुश्किल था। मेरे लिए, setTimeout (impress.next, अवधि) के साथ setInterval (impress.next, अवधि) को प्रतिस्थापित करने से स्लाइडशो जिस तरीके से मैं चाहता हूं उससे व्यवहार कर सकता है। – SiPe

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