jCarousel сбрасывает положение прокрутки

У меня есть вопрос о сбросе положения прокрутки при загрузке новых данных в jCarousel. Ссылка находится здесь: http://rjwcollective.com/equinox/rishi_gallery/eqgall.php

Новые данные поступают, когда вы нажимаете на фильтры на боковой панели слева. Однако, если вы начнете прокручивать карусель на правой боковой панели, а затем повторно выберете фильтры, вновь загруженные данные не будут сброшены в верхнюю позицию.

Я очищаю данные в div, используя .empty()

Сценарий такой:

Первая загрузка:

//first load
$.ajax({
    type:"POST",
    url:"sortbystate.php",
    data:"city=&gender=&category=",
    success:function(data){
            //carousel
            $('#thumbs').html(data);

    }

});//end ajax

Выбор фильтра:

$(".statelist :input").click(function(){
    $('#thumbs').empty();

    var state = $('.statelist input:checked').attr('value');
    var gender = $('.gender input:checked').attr('value');
    var category =$('.category input:checked').attr('value');
        $.ajax({
            type:"POST",
            url:"sortbystate.php",
            data:"city="+state+"&gender="+gender+"&category="+category,
            success:function(data){

                    $('#thumbs').html(data);

            }


        });//end ajax
    });

person frishi    schedule 28.04.2011    source источник


Ответы (2)


Вы можете сбросить карусель по мере загрузки новых данных:

       success:function(data){

                carousel.reset();
                $('#thumbs').html(data);

        }

это очистит и сбросит положение.

Или вы можете просто вызвать carousel.pos(0); чтобы вернуться к началу.

Если вам нужно больше функций, лучше всего посмотреть на функцию, доступную в исходном коде:

https://github.com/jsor/jcarousel/blob/master/lib/jquery.jcarousel.js

person serby    schedule 28.04.2011
comment
Спасибо, @pabloserbo Функция carousel.scroll(1, 0);, первая — это индекс элемента для прокрутки, вторая — логическое значение, указывающее, следует ли использовать анимацию или нет. - person frishi; 29.04.2011

Я не знаком с jcarousel, но похоже, что он ведет себя странно, потому что вам нужно .add на объекте карусели. Вместо этого вы просто устанавливаете HTML.

Взгляните на примеры ajax здесь (динамические примеры): http://sorgalla.com/jcarousel/

person Gary Green    schedule 28.04.2011
comment
Гэри, ваш подход — это тот, который я должен был принять с самого начала, однако я слишком глубоко погрузился в развертывание. Руководство @pabloSerbo помогло мне найти временное решение, которое заключалось в сбросе положения прокрутки карусели. - person frishi; 29.04.2011