分页需求:
根据当前页面,显示当前页面的前3页和后3页,在非第一页或最后一页显示【上一页】和【下一页】,当超过页码时使用【...】 控制。
<!DOCTYPE html>
<html>
<head>
<title>分页算法</title>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
function showPages(page,total) {
var str = page+" ";
for (var i = 1; i <=3; i++) {
if( page -i>1 ){
str = page-i+" "+str;
}
if( page+i<total ){
str = str + " "+(page+i);
}
}
if(page - 4 >1){
str = "..." + str;
}
if(page > 1){
str = "上一页" + 1 +" "+str;
}
if( page+4<total ){
str = str + "...";
}
if( page<total ){
str = str+" "+total+"下一页";
}
return page +"--"+str;
}
var total = 110;
for (var i = 1; i <= total; i++) {
var ret = showPages(i,total);
console.log(ret);
}
</script>
</body>
</html>