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).
Здравствуйте!
Во первых, большое спасибо автору за данную реализацию пагинатора, с лёгкостью прикрутил его к Joomla в виде плагина.
Ниже была описана проблема — «Я тоже заметил баг, если pagesTotal = 8 и pagesSpan = 5», предположительно связанная с вычислением percentFromLeft. По моим наблюдениям баг проявляется не только с обозначенными цифрами, но и с другими вариациями количества страниц. Подскажите, пожалуйста, как это исправить, если у Вас нет возможности выложить исправленную версию.
День добрый. К сожалению как исправить не знаю, не разбирался с проблемой т.к. нет времени. В любом случае, проект есть на github, если узнаете в чем разберетесь в чем проблема делайте pull request и внесем ваши изменения в проект. Спасибо.
Hello! This paginator is very amazing! Its the best and the most complet I have seen until now.
But,… I’m trying use it, charging dates from mysql inside a but I cannot see the first one of every page! I lost the first in every page. Why? I woud like some one help me.
Thanks!
Hello! Could you provide example of code how you use this plugin?
Спасибо, очень удобная вещь. Если проект еще жив, подскажите пожалуйста.
pageCurrent — это я прописываю номер активной страницы, как сделать отображение именно текущей страницы. Если пользователь зашел на страницу сайта page=30 или любую другую, то хотелось бы чтобы он видел номер текущей страницы, а не pageCurrent : 1, или я недопонял настройки?
Автоматического распознавания активной страницы плагин не имеет, но можно прикрутить самостоятельно при его инициализации, в случае если вам это необходимо.
Как его прикрутить к WP? С пагинатором 3000 все получилось почти без проблем, этот же ***нехорошее слово*** не появляется и все. Я уже голову сломал и попросту потерял на это надежду….
Практически аналогичным образом, только не забудьте перед его подключением подключить jQuery на страницу.
Не появилось обновленной версии с правильным подсчетом страниц? Я тоже заметил баг, если 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 — но он работает не так как написано, он срабатывает при загрузки страницы, а не при клике на ссылки.
Ах, извиняюсь не так юзал функцию, но всё равно атрибут не помешает.
И ещё, сделай определение, если страница «Первая», то пусть ссылку делает неактивной, так же и с посл, пред, след.
Поддерживаю комментарий выше. Добавьте, пожалуйста, деактивацию текста «Первая», «Последняя», если выбрана первая или последняя страница
Спасибо!
Здравствуйте, учту ваше пожелание при переработке плагина … как раз думал на праздниках переделать его для новых версий jQuery.
Вы бы выложили этот плагин в репозитарий WordPress, чтобы он мог нормально обновляться…
Данный плагин реализован для jQuery и ни какого отношения к WP не имеет.
pagesTotal : 12,
pagesSpan : 10,
pageCurrent : 11,
При таком раскладе 12 страница не показывается.
Спасибо за информацию, обязательно исправлю эту ошибку в будущих версиях плагина.
А нельзя ли бакфиксик выпустить? Просто я смотрю на промежутки между версиями и опасаюсь, что последняя страница еще не скоро покажется :)
Конечно можно и даже нужно, постараюсь сделать это в ближайшее время, как только появится чуть чуть свободного времени.
Поскольку ответа от автора я так и не увидел, а боевые проекты начали переходить на jQuery 1.7.1, то наткнулся на данную проблему. Лечится крайне просто, откройте файл плагина, найдите:
a[rel!=»»]
и замените на:
a[rel]
В коде это найдется дважды.
Отличный плагин, но вот GPL-лицензия… Так что мимо меня…
Что то я вас не совсем понял чем вам GPL лицензия не угодила?
Наследование лицензии в случае модификации исходного кода, то есть модифицированный или объединенный с другим код в результате так же должен быть выпущен под лицензией GNU GPL, следовательно, быть доступным для модификации любым желающим.
Your story was relaly informative, thanks!