Показать сообщение отдельно
  #1 (permalink)  
Старый 19.11.2015, 21:46
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

Пейдженатор с помощью скриптов
Добрый вечер. Хотелось бы реализовать пейдженатор на скриптах.
чтобы выводилось что то вроде:
Код:
prev 1 2 ... 4 5 6 ... 8 9 next
вот придумал пока вот так:
<!DOCTYPE HTML>

<html>

<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<style>
.pager a { margin: 0 5px; cursor: pointer; }
.pager a.active { color: red; }
</style>
</head>

<body>

<div id="pager" class="pager"></div>
<div id="curr-page"></div>

<script type="text/javascript">
var currPage = 1;
    total = 22;

function generateItems() {
var items = '',
    i = 0;

for (i; i < total; i++){
    var p = i + 1;
    
    if (p < currPage + 2) {
      items += '<a data-page="'+(i+1)+'">'+(i+1)+'</a>';
    }
    
    if (p == currPage + 2) {
      items += '<span>...</span>';   
    }
    
    if (p == currPage - 2) {
      items += '<span>...</span>';   
    }
    
    if (p > total - 2) {
      items += '<a data-page="'+(i+1)+'">'+(i+1)+'</a>';
    }
}

$('#pager').html( '<a class="prev">prev</a>'+ items +'<a class="next">next</a>' );
}

generateItems();

$('#curr-page').text( currPage );
$('#pager a[data-page="'+currPage+'"]').addClass('active');

$('#pager a').click(function(){
  	var currPage = $(this).data('page');
  	$('#curr-page').text( currPage );
});

$('#pager .next').click(function(){
   var currPage = parseInt($('#curr-page').text()) + 1;
	if (currPage >= total) currPage = total;
  	$('#curr-page').text( currPage );
    $('#pager a').removeClass('active');
    $('#pager a[data-page="'+currPage+'"]').addClass('active');
});

$('#pager .prev').click(function(){
    var currPage = $('#curr-page').text() - 1;
	if (currPage <= 1) currPage = 1;
  	$('#curr-page').text( currPage );
    $('#pager a').removeClass('active');
    $('#pager a[data-page="'+currPage+'"]').addClass('active');
});
</script>

</body>
</html>


но вот как то дальше не идет..
Ответить с цитированием