2010-04-20 64 views
6

如何創建像stackoverflow分頁?如何創建像堆棧溢出網站的分頁

+1

爲什麼特別堆棧溢出?它與其他任何形式的分頁有所不同嗎? – nickf 2010-04-20 04:52:26

+2

就我所見,Stack Overflow的分頁完全是服務器端:它與Javascript或jQuery無關。 – 2010-04-20 04:53:18

+0

其客戶端分頁,如果您在瀏覽器中禁用了JavaScript 您可以看到此消息「堆棧溢出在啓用JavaScript的情況下效果最好」,並且所有頁面顯示在一個頁面中 – user1400 2010-04-20 04:56:27

回答

7

你沒有說你正在使用哪種服務器端技術,但如果你想要一個純粹的客戶端解決方案,你可以看看jQuery Pagination插件。這是demo page

1

使用jQuery插件分頁:

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

+0

我看到它已經由達林Dimitrov – Reigel 2010-04-20 04:58:00

+0

噢好吧。我只檢查jQuery的分頁鏈接它給不同的網址,所以只有我提供了jQuery的主要插件網址。現在我驗證它是演示頁面鏈接。好的。 – Karthik 2010-04-20 05:15:06

2

只需在您的網頁的jQuery和jQuery插件分頁和使用,

$(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>

0

分頁,你可以使用這個功能太:

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; 
}