2015-08-31 8 views
6

मैं कैरोसेल सामग्री के लिए उल्लू कैरोसेल 2 के साथ काम करता हूं।उल्लू कैरोसेल 2 लूप और 1 आइटम के साथ काम नहीं करता है (बग फिक्स्ड अब)

जे एस:

$('#owl-demo').owlCarousel({ 
    loop: true, 
    margin: 10, 
    nav: true, 
    items: 1, 
}); 

HTML:

<div id="owl-demo" class="owl-carousel"> 
    <div class="item"><h4>1</h4></div> 
</div> 

समस्या:

मेरे पास है, जब एक सामग्री (गतिशील सामग्री PHP का उपयोग) loop:true और items:1 काम नहीं है और मैं खाली देख लेकिन अगर मैं दो सामग्री जोड़ता हूं उल्लू सच काम किया !!

संपादित करें: मेरी सामग्री गतिशील (1 - ....) है। जब मेरा परिणाम एक सामग्री उल्लू एक समस्या है।

समस्या DEMO

DEMO

कैसे इस समस्या को दूर करते हैं काम किया?

+1

हाय, आप केवल एक गतिशील सामग्री, अधिकार है ?? फिर आप लूप का उपयोग क्यों कर रहे हैं: सच ?? गलत लूप को गलत करने के लिए बदलें यह काम करेगा ... –

+0

@JackyCoogan: नहीं मेरे पास गतिशील सामग्री है (1 - ....)। लेकिन जब मेरा परिणाम एक उल्लू काम नहीं करता है। मुझे सामग्री के लिए लूप की आवश्यकता है> 1. – Perspolis

+1

तो प्लगइन को कॉल करने से पहले, जांचें कि उसके पास 1 आइटम या अधिक है .. समस्या यह है कि 'owl.carousel' लूप के लिए तत्व क्लोन करने का प्रयास करता है लेकिन वह इसलिए नहीं कर सकता आपके पास सिर्फ एक है –

उत्तर

7

मैं उल्लू डेवलपर समूह को यह बग रिपोर्ट और इस समस्या को ठीक here

बदलें Commit

view = Math.max(settings.items * 2, 2), 

में इस लाइन अब इस demo

+0

धन्यवाद यह काम करता है। – Sajal

3

आप .item तत्वों की संख्या की जांच कर सकता से पहले तुम इतनी तरह अपने प्लगइन फोन:

// Be more specific with your selector if .items is used elsewhere on the page. 
var items = $('.items'); 
if(items.length > 1) { 
    $('#owl-demo').owlCarousel({ 
     loop: true, 
     ... 
    }); 
} else { 
    // same as above but with loop: false; 
} 
0

आप एक बैनर छवि के रूप में owlCarousel में केवल एकल छवि डाल करने के लिए चाहते हैं में काम किया है तो आप उल्लू हिंडोला जे एस में एक तर्क जोड़ सकते हैं।

singleItem: true 

इस तरह:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#main_banner').owlCarousel({ 
      margin: 0, 
      loop: true, 
      navText: [ "<img src='images/leftArrow.png'>", "<img src='images/rightArrow.png'>" ], 
      dots: false, 
      items :1, 
      autoplay: true, 
      singleItem: true 
     }); 
    }); 
    </script> 
+0

ऐसा लगता है कि संपत्ति "सिंगलइटम" अब v2 के साथ समर्थित नहीं है। https://github.com/OwlCarousel2/OwlCarousel2/issues/740 – Amino

3

मैं इस विधि का इस्तेमाल किया समस्या को हल करने और मुझे लगता है कि यह बहुत आसान है।

var options={ 
    margin: 10, 
    nav: true, 
    items: 1 
    }; 
    if($('#owl-demo .owl-item').length>1){ 
     options.loop=true; 
    } 
    $('#owl-demo').owlCarousel(options); 
3

मुझे आशा है कि नीचे दी गई विधि आपकी समस्या का समाधान करेगी।
आपको उल्लू कैरोसेल जेएस को संपादित करने की आवश्यकता नहीं है। उसी विधि को बीएक्स स्लाइडर पर भी लागू किया जा सकता है।

$('.owl-demo').owlCarousel({ 
    margin: 0, 
    responsiveClass: true, 
    smartSpeed: 500, 
    dots: ($(".owl-carousel .item").length > 1) ? true: false, 
    loop:($(".owl-carousel .item").length > 1) ? true: false, 
    responsive: { 
     0: { 
      items: 1, 
     }, 
     500: { 
      items: 1, 
     }, 
     768: { 
      items: 1, 
     } 
    } 
}) 
0

$('#owl-demo').owlCarousel({ loop: true, margin: 10, nav: true, items: 1, responsive:{ 0:{ items:1, nav:true, loop:true }, 600:{ items:1, nav:false, loop:true }, 1000:{ items:1, nav:true, loop:true } } });

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