我有一个这样的分页:
this.pagination = function(limit, length){
//number of pages
var nrpages = Math.ceil(length/limit);
var currPage = this.pagingcurrPage;
console.log('l- '+length);
console.log('p- '+nrpages);
console.log('c- '+currPage);
$.cookie('presssection-cp',currPage);
var thisSection = this;
//active class for first page
if(currPage == 1){
var activeClass = ' class="active"';
}
else{
var activeClass = '';
}
var output = '<li class="page-item"><a'+activeClass+' href="0">1</a></li>';
if(nrpages > 1){
if(nrpages > 7){
if(currPage <= 4){
for( i=2; i < 7; i++){
offset = (i-1) * limit;
//active class for current page
if((currPage-1) * limit == offset){
activeClass = ' class="active"';
}
else{
activeClass = '';
}
output += '<li class="page-item"><a'+activeClass+' href="'+offset+'">'+i+'</a></li>';
}
output += '<li class="rightDot page-item">...</li>';
}
else if(currPage >= (nrpages - 4)){
var pageFrom = nrpages - 5;
var pageTo = nrpages;
output += '<li class="leftDot page-item">...</li>';
for( i=pageFrom; i < pageTo; i++){
offset = (i-1) * limit;
//active class for current page
if((currPage-1) * limit == offset){
activeClass = ' class="active"';
}
else{
activeClass = '';
}
output += '<li class="page-item"><a'+activeClass+' href="'+offset+'">'+i+'</a></li>';
}
}
else{
var pageFrom = currPage - 2;
var pageTo = pageFrom + 5;
output += '<li class="leftDot page-item">...</li>';
for( i=pageFrom; i < pageTo; i++){
offset = (i-1) * limit;
//active class for current page
if((currPage-1) * limit == offset){
activeClass = ' class="active"';
}
else{
activeClass = '';
}
output += '<li class="page-item"><a'+activeClass+' href="'+offset+'">'+i+'</a></li>';
}
output += '<li class="rightDot page-item">...</li>';
}
}
else{
for(i=2; i < nrpages; i++){
if( i==1 ){
offset = 0;
}
else{
offset = (i-1) * limit;
}
if(currPage == i){
activeClass = ' class="active"';
}
else{
activeClass = '';
}
output += '<li class="page-item"><a'+activeClass+' href="'+offset+'">'+i+'</a></li>';
}
}
//active class for last page
if(currPage == nrpages){
activeClass = ' class="active"';
}
else{
activeClass = '';
}
output += '<li class="page-item"><a'+activeClass+' href="'+(nrpages-1)*limit+'">'+nrpages+'</a></li>';
$('#pressItemsPagination ul.pager').html(output);
$('#pressItemsPagination ul.pager').show();
}
else{
$('#pressItemsPagination ul.pager').hide();
}
//debugTime('section '+this.sectionId+' init start');
var html = '';
html += '<div id="'+this.sectionId+'" class="tSection '+this.type+' '+this.section+'">';
html += '\
<div class="clearFix">\
<ul class="tPaging pagination" style="float: left;"> </ul>\
</div>';
html += '</div>'
//register pagination clicks
$('#pressItemsPagination ul.pager li a').live('click',function() {
//get the offset
var offset = $(this).attr('href');
if( offset.indexOf('/') ) {
offset = offset.substr(offset.lastIndexOf('/')+1);
}
如何让该脚本记住用户所在的位置?如果用户在分页上单击第2页然后进入不同的页面并且返回到分页所在的页面,那么如果它能够记住用户在第2页上就会很好。现在它将重置为第1页。将currPage保存在cookie atm上。那是对的吗?我还需要在该脚本中进行哪些更改,以便记住该页面。
答案 0 :(得分:0)
您应该在切换时保存当前页面并在文档就绪时读取cookie。如果未设置cookie,则不执行任何操作。否则,跳转到保存的页面。我建议你看看quirksmode.org的方便cookie functions。