可定制的分页组件:Pagination.js

jopen 10年前

Pagination.js 是一个简单、可定制的分页组件。

可定制的分页组件:Pagination.js

Usage

Normal

$('#demo').pagination({      dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 195],      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Only page numbers

$('#demo').pagination({      dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 100],      pageSize: 5,      showPrevious: false,      showNext: false,      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Show "go" input & button

$('#demo').pagination({      dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 40],      pageSize: 5,      showGoInput: true,      showGoButton: true,      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Auto hide previous & next button

$('#demo').pagination({      dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 35],      pageSize: 5,      autoHidePrevious: true,      autoHideNext: true,      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Mini

$('#demo').pagination({      dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 50],      pageSize: 5,      showPageNumbers: false,      showNavigator: true,      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Asynchronous or JSONP

$('#demo').pagination({      dataSource: 'https://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?',      locator: 'items',      totalNumber: 120,      pageSize: 20,      ajax: {          beforeSend: function(){              dataContainer.html('Loading data from flickr.com ...');          }      },      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Specify default

$('#demo').pagination({      dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 35],      pageSize: 5,      pageNumber: 3,      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Format result data

$('#demo').pagination({      dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 100],      pageSize: 8,      formatResult: function(data){          var result = [];          for(var i = 0, len = data.length; i < len; i++){              result.push(data[i] + ' - good guys');          }          return result;      },      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Another format result data

$('#demo').pagination({      dataSource: [{a :1}, {a :2}, {a :3}, {a :4}, ... , {a :50}],      pageSize: 8,      formatResult: function(data){          for(var i = 0, len = data.length; i < len; i++){              data[i].a = data[i].a + ' - bad guys';          }      },      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Format navigator

$('#demo').pagination({      dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 15],      pageSize: 5,      showNavigator: true,      formatNavigator: '<span style="color: #f00"><%= currentPage %></span> st/rd/th, <%= totalPage %> pages, <%= totalNumber %> entries',      position: 'top',      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

Format "go" input

$('#demo').pagination({      dataSource: [1, 2, 3, 4, 5, 6, 7, ... , 25],      pageSize: 5,      showGoInput: true,      showGoButton: true,      formatGoInput: 'go to <%= input %> st/rd/th',      callback: function(data, pagination){          // template method of yourself          var html = template(data);          dataContainer.html(html);      }  })

项目主页:http://www.open-open.com/lib/view/home/1421200284578