jQuery Paginator 3000 + — это виджет постраничной навигации реализованный в виде плагина для jQuery .
Я хотел бы сразу оговорится, что бы мне не присуждали все заслуги от идеи и до реализации, что впервые данную идею предложил Максим Попов, как сообщает нам автор первой реализации данного виджета koraboz, так же путем логики и размышлений почти к тому же самому результату пришел и «гуру» юзабилити Ярослав Бирзул, о чем он поведал всем в своем блоге.
Ниже в таблице представленные все версии данного плагина когда либо выпущенные мною.
| ZIP | Имя файла | Размер | Дата выпуска | Лицензия |
|---|---|---|---|---|
![]() |
paginator_3000_1_2.zip | 43.9 КБ | 8 июля 2011 | GPL |
![]() |
paginator_3000_1_1.zip | 41.8 КБ | 7 августа 2010 | GPL |
![]() |
paginator_3000_1_0.zip | 10 января 2010 | GPL |
Давайте разберем основные параметры данного плагина, в самом плагине объект параметров объявлен следующим образом:
//set default options
var options = {
pagesTotal : 1,
pagesSpan : 10,
pageCurrent : 1,
baseUrl : document.location.href+'&page=%number%',
buildCounter : buildCounter,
pageScroll : 3,
clickHandler : null,
eturnOrder : false,
lang : {
next : "Следующая",
last : "Последняя",
prior : "Предыдущая",
first : "Первая",
arrowRight : String.fromCharCode(8594),
arrowLeft : String.fromCharCode(8592)
},
events :{
keyboard: true,
scroll: true
}
};
И так теперь более подробно:
pagesTotal — целое число. Задает общее количество страниц которое будет отображено в пагинаторе.
pagesSpan — целое число. Количество отображаемых страниц.
pageCurrent — целое число. Номер текущей страницы.
baseUrl — строка. Шаблон ссылки для навигации, данный параметр должен обязательно содержать значение %number% которое символизирует номер текущей страницы (по умолчанию) и подставляется в шаблон при генерации ссылок как результат функции buildCounter.
buildCounter — функция. Функция расчета значения %number% для шаблона ссылки, по умолчанию значение равно:
function buildCounter(page){ return page; }
pageScroll -целое число. Значение сообщает плагину о количестве страниц перелистываемых за 1 такт скрола мыши.
clickHandler — функция. CallBack функция вызываемая при клике по ссылке.
returnOrder — логическое (true/false). Cообщает плагину какой порядок страниц необходимо использовать прямой — false, или обратный — true.
lang — объект локализации плагина.
events — объект логических значений сообщающих плагину о необходимости использования событий: скролла мыши — events.scroll, клавиатуры — events.keyboard (навигация при помощи сочетаний клавиш Ctrl+Left и Ctrl+Right).


Не появилось обновленной версии с правильным подсчетом страниц? Я тоже заметил баг, если pagesTotal = 8 и pagesSpan = 5
Пока обновлений не выходило, на данный момент загружен работой и нет времени исправлять баги.
Я исправил ошибку для себя, там неправильно высчитывалось percentFromLeft. Если нужно — готов прислать
Присылайте, и я выложу исправленный вариант у себя в блоге, что бы все могли пользоваться корректным вариантом плагина.
На тот e-mail, что указан в копирайте в плагине?
Если честно, я не нашел ни в одном файле того что бы я указывал email в копирайте … ну это не суть вот можете отправить сюда novichkovsergey<
Подскажите. А можно инструкцию как его на DLE 9.4 поставить?
Конечно можно я думаю в этом ничего сложного нет, лично с DLE я не знаком но могу предположить что для того что бы его установить на DLE нужно подправить шаблон отвечающий за вывод пагинатора.
С jQuery 1.7 косяк появился, если установить clickHandler, например:
clickHandler:function(page){
alert(page);
}
В результате показывает два алерта первый то что должно быть, а второй NAN.
Данный плагин с jQuery 1.7 не тестировался. Но спасибо за сообщение об ошибке, в будущем релизе обязательно протестирую и исправлю все ошибки.
Сделай что бы можно было добавить атрибут(ы) ссылкам, у меня например ссылки такого вида: link
P.S пробовал clickHandler — но он работает не так как написано, он срабатывает при загрузки страницы, а не при клике на ссылки.
Ах, извиняюсь не так юзал функцию, но всё равно атрибут не помешает.
И ещё, сделай определение, если страница «Первая», то пусть ссылку делает неактивной, так же и с посл, пред, след.
Вы бы выложили этот плагин в репозитарий WordPress, чтобы он мог нормально обновляться…
Данный плагин реализован для jQuery и ни какого отношения к WP не имеет.
pagesTotal : 12,
pagesSpan : 10,
pageCurrent : 11,
При таком раскладе 12 страница не показывается.
Спасибо за информацию, обязательно исправлю эту ошибку в будущих версиях плагина.
А нельзя ли бакфиксик выпустить? Просто я смотрю на промежутки между версиями и опасаюсь, что последняя страница еще не скоро покажется :)
Конечно можно и даже нужно, постараюсь сделать это в ближайшее время, как только появится чуть чуть свободного времени.
Поскольку ответа от автора я так и не увидел, а боевые проекты начали переходить на jQuery 1.7.1, то наткнулся на данную проблему. Лечится крайне просто, откройте файл плагина, найдите:
a[rel!=""]
и замените на:
a[rel]
В коде это найдется дважды.
Отличный плагин, но вот GPL-лицензия… Так что мимо меня…
Что то я вас не совсем понял чем вам GPL лицензия не угодила?
Your story was relaly informative, thanks!