Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
21920 rajender 1
(function ($) {
2
$.fn.pageMe = function(opts){
3
    var $this = this,
4
        defaults = {
5
            perPage:1,
6
            showPrevNext: false,
7
            hidePageNumbers: false
8
        },
9
        settings = $.extend(defaults, opts);
10
 
11
    var listElement = $this;
12
    var perPage = settings.perPage; 
13
    var children = listElement.children();
14
    var pager = $('.pager');
15
 
16
    if (typeof settings.childSelector!="undefined") {
17
        children = listElement.find(settings.childSelector);
18
    }
19
 
20
    if (typeof settings.pagerSelector!="undefined") {
21
        pager = $(settings.pagerSelector);
22
    }
23
 
24
    var numItems = children.size();
25
    var numPages = Math.ceil(numItems/perPage);
26
 
27
    pager.data("curr",0);
28
 
29
    if (settings.showPrevNext){
30
        $('<li><a href="#" class="prev_link">«</a></li>').appendTo(pager);
31
    }
32
 
33
    var curr = 0;
34
    while(numPages > curr && (settings.hidePageNumbers==false)){
35
        $('<li><a href="#" class="page_link">'+(curr+1)+'</a></li>').appendTo(pager);
36
        curr++;
37
    }
38
 
39
    if (settings.showPrevNext){
40
        $('<li><a href="#" class="next_link">»</a></li>').appendTo(pager);
41
    }
42
 
43
    pager.find('.page_link:first').addClass('active');
44
    pager.find('.prev_link').hide();
45
    if (numPages<=1) {
46
        pager.find('.next_link').hide();
47
    }
48
      pager.children().eq(1).addClass("active");
49
 
50
    children.hide();
51
    children.slice(0, perPage).show();
52
 
53
    pager.find('li .page_link').click(function(){
54
        var clickedPage = $(this).html().valueOf()-1;
55
        goTo(clickedPage,perPage);
56
        return false;
57
    });
58
    pager.find('li .prev_link').click(function(){
59
        previous();
60
        return false;
61
    });
62
    pager.find('li .next_link').click(function(){
63
        next();
64
        return false;
65
    });
66
 
67
    function previous(){
68
        var goToPage = parseInt(pager.data("curr")) - 1;
69
        goTo(goToPage);
70
    }
71
 
72
    function next(){
73
        goToPage = parseInt(pager.data("curr")) + 1;
74
        goTo(goToPage);
75
    }
76
 
77
    function goTo(page){
78
        var startAt = page * perPage,
79
            endOn = startAt + perPage;
80
 
81
        children.css('display','none').slice(startAt, endOn).show();
82
 
83
        if (page>=1) {
84
            pager.find('.prev_link').show();
85
        }
86
        else {
87
            pager.find('.prev_link').hide();
88
        }
89
 
90
        if (page<(numPages-1)) {
91
            pager.find('.next_link').show();
92
        }
93
        else {
94
            pager.find('.next_link').hide();
95
        }
96
 
97
        pager.data("curr",page);
98
      	pager.children().removeClass("active");
99
        pager.children().eq(page+1).addClass("active");
100
 
101
    }
102
};
103
 
104
$(document).ready(function(){
105
 
106
  $('#myTable').pageMe({pagerSelector:'#myPager',showPrevNext:true,hidePageNumbers:false,perPage:4});
107
 
108
});
109
});