2012-02-24 2 views
0

Я использую jCarouselLite, чтобы показать пост-скроллер, который загружает сообщения из определенной категории. Но я хочу иметь возможность переключать категорию через AJAX.Запустите jCarouselLite снова, после запроса AJAX

Итак, я загрузить все в DIV, а затем запустить:

jQuery(function($) { 
$("#serviceNews").jCarouselLite({ 
    vertical: true, 
    hoverPause:true, 
    visible: 2, 
    auto:2000, 
    speed:1000 
}); 

});

И он работает ... до тех пор, пока ajax не обновит innerHTML #serviceNews. Затем jCarouselLite перестает работать. Я пробовал использовать livequery:

jQuery(function($) { 
$("#serviceNews").livequery(function(){ 
    $(this).jCarouselLite({ 
     vertical: true, 
     hoverPause:true, 
     visible: 2, 
     auto:2000, 
     speed:1000 
    }); 
}); 

});

Но то же самое происходит. Я не очень хорошо знаком с jQuery, поэтому я, вероятно, пропустил что-то очевидное.

Вы можете найти демо here (средний столбец под знаменем, с помощью кнопок switchCategory под скроллером).

ответ

2

надеюсь, что вы используете последнюю версию кода https://github.com/kswedberg/jquery-carousel-lite

документация упоминает здесь, что вы могли закончить карусель

$('div.carousel').trigger('endCarousel') 

Таким образом, каждый раз, когда вам нужно обновить карусель просто endCarousel, а затем снова привязать jCarouselLite к div

1

Решение от maniac_user работает для меня.

Попытка установить:

$("div.carousel").trigger("endCarousel"); 

Перед кода jCarousel:

$(".auto .jCarouselLite").jCarouselLite({ 
    speed: 14700, 
    btnNext: ".next", 
    vertical: true, 
    hoverPause:true, 
    visible: 1 
});