Инструменты Jquery и прокрутка

У меня есть прокрутка с плагином навигатора и историей, установленной на true. Это делается для того, чтобы пользователи могли использовать ссылки с идентификатором для прокрутки к выбору по своему выбору в прокручиваемом списке (около 50 элементов). У меня круговой установлен на истину.

Элементы отображаются группами по 4. Но кнопки «Предыдущий» и «Следующий» перемещаются только на 1 элемент, тогда как я хочу, чтобы они перемещались на 4 элемента. Как мне это сделать?

Я не могу сгруппировать их на страницах div, поскольку список проиндексированных вкладок соответствует этим страницам div, а не содержащимся элементам.

Я попытался создать обработчик кликов с помощью api.move(-2), но происходят всевозможные странные вещи (не вытесняет встроенную прокрутку по одному, перематывает вместо продвижения или продвигается, а затем перематывает назад в одной последовательности - недопустимо).

Я явно упускаю что-то основное. Указатели будут оценены.

Спасибо,

  • Хенрик

person HenrikBechmann    schedule 07.09.2010    source источник


Ответы (1)


Вот что я в итоге сделал: я взял API и заменил функции next и prev; циркуляр для инвалидов; добавлены первая и последняя кнопки. Своего рода обходной путь/полурешение. Вы можете увидеть результат на http://cityrinks.ca/wiki/wiki.php?n=ListOfRinks.TableOfRinks

$(function() {
$(".scrollable")
     .scrollable({
        vertical: true, 
        mousewheel: true,
        circular:false 
     })
     .navigator({
    navi: "#rinktabs",
    naviItem: 'a',
    activeClass: 'current',
    history: false
      });
var api = $(".scrollable").data("scrollable");
api.next = function(time) {
index = this.getIndex();
size = this.getSize();
interval = size - index;
if (interval > 4) interval = 4;
return this.move(interval, time);
};
api.prev = function(time) {
index = this.getIndex();
if (index > 4) index = 4;
return this.move(-index, time);
};
$("#firstbutton").click(function() {
var api = $(".scrollable").data("scrollable");
return api.begin(api.speed);
});
$("#lastbutton").click(function() {
var api = $(".scrollable").data("scrollable");
return api.end(api.speed);
});
});
person HenrikBechmann    schedule 10.09.2010