2015-01-06 9 views
13

के बाद उल्लू कैरोसेल को फिर से शुरू करने के लिए मैं एक सफल AJAX कॉल के बाद उल्लू कैरोसेल को फिर से शुरू करने की कोशिश कर रहा हूं। AJAX कॉल डेटा को बदल देगा लेकिन दृश्य को वही रहना चाहिए। मुझे कोई समस्या है जहां दृश्य (कैरोसेल संरचना) पुन: प्रारंभ नहीं होगा। पृष्ठ लोड पर सबकुछ ठीक है।अजाक्स कॉल

im का उपयोग कर संस्करण 1.3.3

$(document).ready(function() { 
$(".owl-carousel").owlCarousel({ 
    items : 3 
}); 
}); 

अजाक्स कॉल

$.ajax({ 
    type: 'get', 
    url: '/public/index', 
    dataType: 'script', 
    data: data_send, 
     success: function(data) { 
     $(".owl-carousel").owlCarousel({ 
     items: 3 
     }); 
     } 
    }); 
} 

मैं कुछ है कि मैं क्या करने की जरूरत याद आ रही है। मैंने इस मुद्दे को जिथब पेज पर देखा है और सुझावों का प्रयास किया है लेकिन इसका कोई फायदा नहीं हुआ है।

किसी भी मदद

संपादित

सराहना की सलाह से दिया मैं इन दोनों कार्यों

function owlCarousel() { 
    var owl = $(".owl-carousel"); 
    //init carousel 
    owl.owlCarousel(); 
    owl.data('owlCarousel').reinit({ 
    items : 3 
    }); 
} 

function destroyOwlCarousel() { 
    var owl = $(".owl-carousel"); 
    //init carousel 
    owl.owlCarousel(); 
    owl.data('owlCarousel').destroy(); 
    } 
} 

यह काम करते हैं लेकिन लगता है बनाया है सोच रहा है कि अगर यह ऐसा करने जा करने के लिए सही तरीका क्या है?

+0

यहाँ उल्लू Carousel पेज आपकी सहायता कर सकती है - http://owlgraphic.com/owlcarousel/demos/manipulations.html आप addItem() या reinit() –

+0

धन्यवाद का उपयोग कर link..trying डाल करने के लिए करने की कोशिश की है उनके उदाहरणों का उपयोग करके कुछ मिलकर, लेकिन अब तक काम नहीं कर रहा है – Richlewis

उत्तर

0

यह मदद करनी चाहिए:

/* 
reinit() method reinitialize plugin 

Syntax: 
owldata.reinit(newOptions) 

Yes! you can reinit plugin with new options. Old options 
will be overwritten if exist or added if new. 

You can easly add new content by ajax or change old options with reinit method. 
*/ 

$('.reinit').click(function(e){ 
e.preventDefault() 
if(booleanValue === true){ 
    booleanValue = false; 
    } else if(booleanValue === false){ 
    booleanValue = true; 
} 

owl.data('owlCarousel').reinit({ 
    singleItem : booleanValue 
    }); 
}) 
+0

धन्यवाद, मुझे यहां गूंगा होने के लिए क्षमा करें, लेकिन अगर मैं एजेक्स सफलता कॉलबैक के भीतर दौड़ने वाला एक फ़ंक्शन बनाना चाहता हूं तो मैं इसे कैसे बनाऊंगा? क्योंकि मैं वास्तव में नहीं देख सकता कि उपरोक्त कैसे काम कर रहा है। – Richlewis

+0

मुझे लगता है कि मुझे मिल गया है, मेरा उदाहरण पोस्ट करेगा – Richlewis

0

owl documention में reinitialize

+0

यह उल्लू-कैरोसेल के बाहर लहर प्रभाव हो सकता है - कई चीजें लोड के लिए सुनती हैं जो इस संकीर्ण AJAX कॉल से अवगत नहीं हो सकती हैं। गलत नहीं, बस एक विशाल sledgehammer। – allicarn

-2
$('#owl-demo').data('owlCarousel').reinit(); 
+0

श्री HiDeo यह कोड मेरे उल्लू कैरोसेल में शुरू करने के लिए मेरे लिए काम करता है। क्या पुनर्निर्मित करने के लिए कुछ कोड है .. – venkat

+0

मुझे यह त्रुटि मिल रही है Uncaught TypeError: अपरिभाषित –

0

के बजाय $(window).load() प्रयास करें यह प्रयास करें, अपने अस्तित्व:

//Initialize Plugin 
    $(".owl-carousel").owlCarousel() 

    //get carousel instance data and store it in variable owl 
    var owl = $(".owl-carousel").data('owlCarousel'); 

    owl.reinit(options) 
3

काम करता है नीचे दिए गए उदाहरण।

हिंडोला शुरु कर रहा है:

owl = $("#owl-demo"); 

owl.owlCarousel({ 
    items: 10, 
    autoPlay: 1000, 
}); 

और जब आप ajax कॉलबैक का उपयोग करें, कोशिश: http://jsfiddle.net/s10bgckL/959/

:

owl.data('owlCarousel').destroy(); 

owl.owlCarousel({ 
    items: 5, 
    autoPlay: 1000, 
}); 

मैं तुम्हें समझाने के लिए कैसे हिंडोला को फिर से प्रारंभ करने में एक बेला बनाने

पीएस: मैंने विकल्पों की एक सरणी नहीं बनाई है, अगर आप गति के रूप में कुछ पैरामीटर संशोधित करना चाहते हैं, प्रदर्शित वस्तुओं की मात्रा इत्यादि।

मुझे उम्मीद है कि यह मदद करता है।

+0

की संपत्ति 'reinit' नहीं पढ़ सकता है यह मेरे लिए काम करता है! – Nicholas

+0

मेरे लिए आकर्षण की तरह काम करता है !! –

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