Pajinate - jQuery Pagination Plugin Author: Wesley Nolte DEFAULT USAGE --------------------------------- 1) Place pajinate-x.x folder somewhere in your website directory structure. 2) Include script tags for the desired version of the script. 3) Create at least one <div> in your HTML with a CSS class value of "page_navigation". The navigation links will be attached to these divs. 4) Ensure that all items you would like to page through are all the first-children of an HTML element with a CSS class value of "content". The child-elements can be of any tag type. 5) Call the Pajinate plugin with the function call below: $('#id_of_page_container').pajinate(); '#id_of_page_container' should contain the "page_navigation" and "content" elements. HTML MARKUP REQUIREMENTS --------------------------------- Paging through lists of items requires some basic HTML markup, some examples follow, 1) Basic Paging. <div id="page_container"> <div class="page_navigation"></div> <ul class="content"> <li> <p>One</p> </li> <li> <p>Two</p> </li> <li> <p>Three</p> </li> <li> <p>Four</p> </li> <li> <p>Five</p> </li> <li> <p>Six</p> </li> <li> <p>Seven</p> </li> <li> <p>Eight</p> </li> </ul> </div> This is the simplest type of paging one can have. With all the default options set, the following actions occur within the plugin (among other things): - The list of items inside '.content' are divided into slices. - The navigation panel is created at attached to the '.page_navigation' element. - The first page is displayed and all others hidden. When Pajination is done processing the DIV above, the DOM is modified to look like this: <div id="page_container"> <div class="page_navigation"> <a href="" class="previous_link">Prev</a> <a longdesc="0" href="" class="page_link">1</a> <a longdesc="1" href="" class="page_link active_page">2</a> <a href="" class="next_link">Next</a> </div> <ul class="content"> <li><p>One</p></li> <li><p>Two</p></li> <li><p>Three</p></li> <li><p>Four</p></li> <li><p>Five</p></li> <li><p>Six</p></li> <li><p>Seven</p></li> <li><p>Eight</p></li> <li><p>Nine</p></li> <li><p>Ten</p></li> <li><p>Eleven</p></li> <li><p>Twelve</p></li> <li><p>Thirteen</p></li> <li><p>Fourteen</p></li> <li><p>Fifteen</p></li> <li><p>Sixteen</p></li> </ul> </div> Note the links that have been added to #page_navigation. 2) Advanced Paging The plugin offers several initialisation options: items_per_page : A number which determines the maximum number of items to show on any 'page'. [default = 10] item_container_id : The ID or CLASSNAME of the element that contains all the list items. [default = '.content'] nav_panel_id : The ID or CLASSNAME of the element(s) that host the navigation links. [default = '.page_navigation'] num_page_links_to_display : The number of page links to display at one time i.e. if you have a total of 20 page links but only want to display 3 at a time set this value to 3. [default = 20] start_page : The page number you'd like to display first [default = 0] nav_label_first : The label for the link that navigates to the first paginated page. [default = 'First'] nav_label_prev : The label for the link that navigates to the previous paginated page. [default = 'Prev'] nav_label_next : The label for the link that navigates to the next paginated page. [default = 'Next'] nav_label_last : The label for the link that navigates to the last paginated page. [default = 'Last'] wrap_around : Next/prev navigation wraps. [default = false] show_first_last : Prevents first & last navigation links from loading if set to false. [default = true] nav_info_id: String (default ".info_text") The ID or CLASSNAME of the element(s) that will host the nav_label_info text nav_label_info: String (default "Showing {0}-{1} of {2} results") Info text that shows the results that are currently shown and the total number of results in the list. {0} jquery_ui: Boolean (default false), if set to true enables jquery ui themes jquery_ui_active: String (default "ui-state-highlight") extra jquery ui class to add on active_page jquery_ui_default: String (default "ui-state-default") extra jquery ui class to add on all links jquery_ui_disabled: String (default "ui-state-disabled") extra jquery ui class to add on disabled links onPageDisplayed: Function(pageNumber), This function will be called if it exists and passed the current page number. A style class called 'no_more' is added to the first/prev links if the first link is active and similarly for the last/next links. This allows you to give these links a "disabled" appearance if required. Note that you can add any element tag to the list of pageable items. Drop me a message if you have any questions or comments: twitter (@wesnolte)