Алгоритм пагинации
Столкнулся со следующей проблемой
Мне необходимо написать пагинацию таккого вида: 1 2 3 ... n-1 [n] n+1 ... x-2 x-1 x где n -- произвольное среднее значение из массива страниц x -- последняя страница По аналогии с http://flaviusmatis.github.io/simple...on.js/#page-15 Я не могу разобраться в чужом коде. Просьба посоветовать алгоритм |
Удобнее такой, -> http://karaboz.ru/?p=12
под Ваш стиль нужно подправить сss, вроде немного, ибо все цифры в одной таблице |
Увы, требования к пагинации определил не я))
|
Цитата:
function pagination(num,limit,range)
{
range = range||3;
var arr = [];
for (var i=1; i<=limit; i++) {
if(i <= range||(i > num -range/2&&i < num + range/2)||i>limit - range)
{if (arr[arr.length-1]&& i != arr[arr.length-1]+1)arr.push('...');arr.push(i)}
}
return arr
}
alert(pagination(5,20)+"\n"+pagination(7,20)+"\n"+pagination(16,20));
|
| Часовой пояс GMT +3, время: 13:17. |