jCarousel - обновлять элементы карусели без обновления страницы - PullRequest
1 голос
/ 17 мая 2011

Я использую плагин jCarousel для небольшой страницы галереи с параметром itemloadcallback для динамической загрузки элементов в карусель.

Однако я не уверен, возможно ли это, но есть ли способ, с помощью которого экземпляр карусели на самой странице можно удалить и воссоздать с новым набором элементов?Я планирую использовать фильтр (поле выбора) на странице, на которой я хочу создать новую карусель с отфильтрованным списком.Есть идеи экспертов?

Спасибо заранее.

За

Ответы [ 2 ]

3 голосов
/ 23 мая 2011

Мне удалось поработать над этим позже в тот же день, но в последние несколько дней я был слишком занят, чтобы опубликовать решение, к которому я пришел. Я использовал ту же функцию addItemCallback, которая требуется для динамической загрузки элементов, но для другого события, связанного с событием onChange фильтра года. Что ж, вот оно, и я надеюсь, что это может помочь нескольким другим, пытающимся реализовать то же самое:

функция mycarousel_initCallback (карусель) {

  jQuery('#filter_year').live('change', function() {
    jQuery.get(
        'dynamic_ajax_php.php',
        {
            first: carousel.first,
            last: carousel.last+1,
            year:""+$(this).val()+""
        },
        function(xml) { 
            mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, xml);
        },
        'xml'
    );
}); 

}

Ответ будет звучать слишком специфично для вопроса (ну, вопрос тоже был слишком конкретным) - но я хотел показать, как можно отслеживать события из элементов вне карусели и использовать их для манипулирования каруселью.

Ура!

0 голосов
/ 17 мая 2011

Почему бы вам не поместить jCarousel в div с определенным идентификатором (хотя, вероятно, именно так вы и делаете).Вам нужен только AJAX для загрузки нового контента.Если вызов ajax завершился успешно, вы можете добавить (или, скорее, просто использовать функцию hquml () jquerys) необходимую структуру и вызвать jCarousel для этого div.

...