Pagination
by HYEONGJINKIM
HTML
<script src="http://esimakin.github.io/twbs-pagination/js/jquery.twbsPagination.js"></script>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<ul id="pagination-demo"class="pagination-sm"></ul>
<ul id="demo"class="pagination-sm"></ul>
JavaScript
(function ($) {
"use strict"; // jshint ;_;
/* Paginator PUBLIC CLASS DEFINITION
* ================================= */
/**
* Boostrap Paginator Constructor
*
* @param element element of the paginator
* @param options the options to config the paginator
*
* */
var Paginator = function (element, options) {
this.init(element, options);
},
old = null;
Paginator.prototype = {
/**
* Initialization function of the paginator, accepting an element and the options as parameters
*
* @param element element of the paginator
* @param options the options to config the paginator
*
* */
init: function (element, options) {
this.$element = $(element);
/*var version = (options && options.bootstrapMajorVersion) ? options.bootstrapMajorVersion : $.fn.Paginator.defaults.bootstrapMajorVersion,
id = this.$element.attr("id");
if (version === 2 && !this.$element.is("div")) {
throw "in Bootstrap version 2 the pagination must be a div element. Or if you are using Bootstrap pagination 3. Please specify it in bootstrapMajorVersion in the option";
} else if (version > 2 && !this.$element.is("ul")) {
throw "in Bootstrap version 3 the pagination root item must be an ul element."
}*/
this.currentPage = 1;
this.lastPage = 1;
this.setOptions(options);
this.initialized = true;
},
/**
* Update the properties of the paginator element
*
* @param options options to config the paginator
* */
setOptions: function (options) {
this.options = $.extend({}, (this.options || $.fn.paginator.defaults), options);
this.totalPages = parseInt(this.options.totalPages, 10); //setup the total pages property.
...