Как заставить jcarousellite связываться после того, как JS вставляет элементы DOM? - PullRequest
1 голос
/ 29 декабря 2010

Я использую jcarousellite для одного из моих проектов. Это код, который у меня есть.

$(".carousel").jCarouselLite({
    btnNext: ".next",
    btnPrev: ".prev",
    speed: 700,
    visible: 8,
    afterEnd: function(a){
        // set the now first element to the active video
        $(a[0]).addClass("active");
    },
});

Единственная проблема в том, что мои элементы списка не были сгенерированы до

$(document).ready(function(){
  // generate list items
});

Я хочу создать карусель после загрузки элементов списка. Могу ли я использовать .live () jQuery для этого? Есть идеи?

1 Ответ

0 голосов
/ 29 декабря 2010

Не запускайте плагин карусели, пока ваши элементы не будут сгенерированы.

$(document).ready(function(){

  // generate list items

  // then run the jCarouselLite
  $(".carousel").jCarouselLite({
    btnNext: ".next",
    btnPrev: ".prev",
    speed: 700,
    visible: 8,
    afterEnd: function(a){
        // set the now first element to the active video
        $(a[0]).addClass("active");
    },
  });

});

Если элементы списка генерируются в результате асинхронного вызова AJAX, поместите код карусели в полеобратный вызов к вызову AJAX.

Если вы динамически генерируете дополнительные элементы, сохраните ссылку на список в переменной и вызовите плагин карусели только для этих элементов.

И нет, вы не можете использовать .live() для этого.

...