Created
July 2, 2014 19:46
-
-
Save dasginganinja/6f315950a24a1cefc361 to your computer and use it in GitHub Desktop.
I didn't like the pager on a website so I created this.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if ($('.chooser').length == 0) { | |
var pagearr = []; | |
var $pageSel = $('<select class="chooser">').hide(); | |
var pageMax = parseInt($('.pager').data('pages')); | |
var pageCur = parseInt($('.pager').data('currentpage')); | |
for(i=0;i<pageMax;++i) { | |
if (i < 5 || i >= (pageMax-5) || (i+1)%10 == 0 || ((i > pageCur-5) && (i < pageCur + 5))) { | |
pagearr.push({ val: i+1, text: (i+1)+" / "+pageMax }); | |
} | |
} | |
$(pagearr).each(function() { | |
$opt = $('<option>').attr('value', this.val).text(this.text); | |
if (this.val == pageCur) { | |
$opt.attr('selected','selected'); | |
} | |
$pageSel.append($opt); | |
}); | |
$pageSel.change(); | |
$pageSel.change(function() { | |
var perpage = parseInt($('.pager').data('itemsperpage')); | |
var base = $('.pager').data('pagerquerybase'); | |
var suffix = $('.pager').data('pagerquerysuffix'); | |
var curpage = parseInt($(this).val()); | |
var offset = (curpage - 1) * perpage; | |
//console.log(offset); | |
window.location = base + offset + suffix; | |
}); | |
$pageSel.focusout(function() { | |
$('.chooser').hide(); | |
$('.pager .current').show(); | |
}); | |
$pageSel.insertAfter($('.pager .current')); | |
$('.pager .current').click(function() { | |
$('.pager .current').hide(); | |
$('.chooser').show(); | |
$('.chooser').focus(); | |
}); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment