2016-04-25 8 views
1

Ich habe einen Ajax-Aufruf ausgeführt, um Daten abzurufen, und ich möchte die Bilder in ein Slick-Karussell stellen.Slick jQuery: TypeError Eigenschaft 'unslick' von undefined nicht lesen

Das Problem ist - ich habe gelesen - Slick nur statische Daten sehen, so muss ich Turn-on Slick ausschalten, sobald Bilder in HTML sind.

Es sollte wie hier unten codiert werden.

$('.slick-media').slick('unslick').slick('reinit'); 

Aber ich habe diesen Fehler:

TypeError Cannot read property 'unslick' of undefined

In meinem Code I 2 Slick Karussells haben. Einer ist statisch, der zweite wird über jQuery erstellt, wenn Daten von einem AJAX-Aufruf empfangen werden.

Wenn ich versuche, das statische Karussell zu lösen, funktioniert es. Aber ich bin nicht in der Lage, das zweite Karussell zu entfernen, das dynamisch gebaut wird (ich bekomme den Fehler).

Haben Sie eine Idee?

So deklariere ich meine 2 Karussells.

$(document).ready(function(){ 
     $('.carousel').slick({ 
     //properties 
     }); 

     $('.product_carousel').slick({ 
     //properties 
     }); 
    }); 

Antwort

1

Ok, hier ist die Lösung! (yay)

Slick var oder etwas ähnliches war 'undefined' für dieses Karussell. ..

So binden wir sie an die Slick var mit unseren Einstellungen:

function getSliderSettings() { 
     return { 
     dots: true, 
     arrows: false, 
     slidesToShow: 1, 
     cssEase: 'ease', 
     variableWidth: false, 
     speed: 800, 
     fade: true, 
     cssEase: 'linear' 
     } 
} 

$('.product_carousel').slick(getSliderSettings()); 

Anscheinend gibt es keine Notwendigkeit $ ('your_carousel_class') zu tun Slick ('unslick') Slick();