Повторно примените или настройте jCarouselLite в окне изменения размера - PullRequest
2 голосов
/ 10 января 2012

Я пытаюсь перенастроить или уничтожить и повторно применить плагин jCarouselLite при изменении размера окна, но у меня ничего не получилось, это потому, что я создал веб-сайт, где каждая страница - это "li", где при навигации по менюон прокручивает до этой «страницы» ...

Я попытался использовать это при изменении размера и повторно применить jcarousellite, но это не сработало:

$('#mega').jCarouselLite = null;

это кодЯ использую, но если я продолжу применять jcarouselLite, карусель сходит с ума!

$(document).ready(function(){
    w = $(window).width();
    h = $(window).height();
    $('#mega li').css('width',w);
    $('#mega li').css('height',h);
    $('#mega').jCarouselLite({
        circular:false,
        vertical:true,
        speed:1000,
        visible:1,
        btnGo:["#home", "#comofunciona", "#porquemegafome", "#contato"]
    });
});
$(window).resize(function() {
    w = $(window).width();
    h = $(window).height();
    $('#mega li').css('width',w);
    $('#mega li').css('height',h);
    $('#mega').jCarouselLite({
        circular:false,
        vertical:true,
        speed:1000,
        visible:1,
        btnGo:["#home", "#comofunciona", "#porquemegafome", "#contato"]
    });
});

РЕШЕНИЕ:

"idrumgood", я пытался сделатьэто только с помощью "li", но, немного поискав о деактивации плагинов, я обнаружил, что мне тоже нужно отвязывать клики, поэтому вот код, который мне пришлось применить:

$(window).resize(function() {
    $('#mega').jCarouselLite = null;
    $('#home, #comofunciona, #porquemegafome, #contato').unbind('click'); //buttons I defined on btnGo option
    runCarousel(); //again
    aClick(); // function where I get the li index and save into a hidden input, on resize it keeps li position! :)
});

1 Ответ

1 голос
/ 10 января 2012

jCarouselLite (и почти любой плагин карусели) добавляет некоторую дополнительную разметку при создании карусели. Обычно содержащий элемент, который имеет ширину elementsWidth * numberOfElements со скрытым переполнением. Второй содержащий элемент внутри этого также создан, и это то, что на самом деле будет двигаться. Затем ваши элементы перемещаются, и левый край вторичного содержащего элемента изменяется, чтобы дать эффект прокрутки.

Суть в том, что если вы хотите изменить это, вам нужно изменить ширину тех, которые содержат div и / или ширину элементов, которые вы прокручиваете, когда размер окна изменяется.

Попробуйте изменить размеры этих элементов при изменении размера окна вместо повторной инициализации карусели и посмотрите, что произойдет (без вашей разметки, это лучший совет, который я могу дать)

...