2010-04-20 33 views
6

cách tạo phân trang như stackoverflow?Cách tạo phân trang như trang web Stack Overflow

+1

Tại sao đặc biệt Stack Overflow? Nó có làm gì khác với bất kỳ hình thức phân trang nào khác không? – nickf

+2

Theo như tôi thấy, phân trang của Stack Overflow hoàn toàn là phía máy chủ: nó không liên quan gì đến Javascript hoặc jQuery. –

+0

phân trang phía khách hàng của nó, nếu bạn tắt javascript trong trình duyệt của mình bạn có thể thấy thông báo "Stack Overflow hoạt động tốt nhất với JavaScript được bật" và tất cả các trang hiển thị trong một trang – user1400

Trả lời

7

Bạn không nói công nghệ phía máy chủ nào bạn đang sử dụng nhưng nếu bạn muốn có giải pháp phía khách hàng thuần túy, bạn có thể xem plugin jQuery Pagination. Đây là demo page.

1

sử dụng jQuery Plugin pagination:

http://plugins.jquery.com/project/pagination

+0

tôi thấy nó đã được đưa ra bởi Darin Dimitrov – Reigel

+0

Oh được rồi. Tôi kiểm tra chỉ trên liên kết jquery pagination nó cung cấp cho url khác nhau vì vậy chỉ có tôi cung cấp các url plugin chính jquery. Bây giờ tôi xác minh nó là liên kết trang demo. Được rồi. – Karthik

2

Chỉ cần bao gồm jquery và jquery pagination plugin trong trang của bạn và sử dụng này,

$(document).ready(function() { 
 
    $(".pager").pagination(300, { 
 
    callback: pagecallback, 
 
    current_page: 0, 
 
    items_per_page: 5, 
 
    num_display_entries: 5, 
 
    next_text: 'Next', 
 
    prev_text: 'Prev', 
 
    num_edge_entries: 1 
 
    }); 
 
});
.pager { 
 
    margin-bottom: 10px; 
 
    margin-top: 10px; 
 
} 
 
.page-numbers { 
 
    border: 1px solid #CCCCCC; 
 
    color: #808185; 
 
    display: block; 
 
    float: left; 
 
    font-family: Trebuchet MS, Helvetica, sans-serif; 
 
    font-size: 130%; 
 
    margin-right: 3px; 
 
    padding: 4px 4px 3px; 
 
    text-decoration: none; 
 
} 
 
.page-numbers.desc { 
 
    border: medium none; 
 
} 
 
.page-numbers:hover { 
 
    text-decoration: none; 
 
} 
 
.pager a { 
 
    color: #808185; 
 
    cursor: pointer; 
 
    text-decoration: none; 
 
    outline: none; 
 
} 
 
.pager a:hover { 
 
    text-decoration: underline; 
 
} 
 
.pager a:visited { 
 
    color: #808185; 
 
    outline: none; 
 
} 
 
.page-numbers.next, 
 
.page-numbers.prev { 
 
    border: 1px solid #CCCCCC; 
 
} 
 
.page-numbers.current { 
 
    background-color: #808185; 
 
    border: 1px solid #808185; 
 
    color: #FFFFFF; 
 
    font-weight: bold; 
 
} 
 
.page-numbers.dots { 
 
    border: 1px solid #FFFFFF; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="pager" id="Pagination"> 
 
    <!-- the container for your first pagination area --> 
 
</div>

1

Bạn có thể tạo pagination sử dụng twitter bootstrap với ít hơn 10 dòng mã như thế này example of pagination using twitter bootstrap

0

bạn có thể sử dụng chức năng này quá:

function makePaging(totalPages, pageIndex) { 
    var oPaging, i, j, k; 
    var totalPages = parseInt(totalPages); 

    pageIndex++; 

    i = pageIndex; 
    j = pageIndex - 1; 
    k = pageIndex + 1; 

    var oBefore, oAfter; 
    oBefore = ""; 
    oAfter = ""; 

    while (j != 0 && j != i - 6) { 
     oBefore = "<a class='Page' href='#' data-index='" + (j - 1) + "'>" + j + "</a>&nbsp;" + oBefore; 
     j--; 
    } 

    for (; k < totalPages + 1 && k < i + 6; k++) { 
     oAfter += "<a class='Page' href='#' data-index='" + (k - 1) + "'>" + k + "</a>&nbsp;"; 
    } 

    oPaging = oBefore + "<a class='CurPage' href='#' rel='' style='color:Red;'>" + i.toString() + "</a>&nbsp;" + oAfter; 

    return oPaging; 
} 
Các vấn đề liên quan