最终效果:
我的逻辑:去掉极值,然后处理几种特殊情况
大家看看逻辑就可以了,代码里面写的都是样式
$li = '';
//极值处理,去掉极值
if ($page_arr['pagenum'] > $page_arr['pagecount'] ) {
$page_arr['pagenum'] = $page_arr['pagecount'];
}elseif ($page_arr['pagenum'] < 1) {
$page_arr['pagenum'] = 1;
}
//上一页
if ($page_arr['pagenum'] > 1) {
$pre_page = $page_arr['pagenum'] - 1;
$li .= '<span><a class="button" href="/' . $method . '?page=' . $pre_page .'">上一页</a></span>';
if ($page_arr['pagenum'] > 1+1) {
$li .= '<span><a class="button" href="/' . $method . '?page=1">1</a></span>';
}
if ($page_arr['pagenum'] > 1+1+1) {
$li .= '<span><a class="button" href="javascript:;">...</a></span>';
}
$li .= '<span><a class="button" href="/' . $method . '?page=' . $pre_page . '">' . $pre_page . '</a></span>';
}
//当前页
$li .= '<span class="active"><a class="button" href="/' . $method . '?page='. $page_arr['pagenum'] .'">' . $page_arr['pagenum'] . '</a></span>';
//下一页
if ($page_arr['pagenum'] < $page_arr['pagecount']) {
$pre_page = $page_arr['pagenum'] + 1;
$li .= '<span><a class="button" href="/' . $method . '?page='. $pre_page .'">'. $pre_page .'</a></span>';
if ($page_arr['pagenum'] < $page_arr['pagecount']-2) {
$li .= '<span><a class="button" href="javascript:;">...</a></span>';
}
if ($page_arr['pagenum'] < $page_arr['pagecount']-1) {
$li .= '<span><a class="button" href="/' . $method . '?page='. $page_arr['pagecount'] .'">' . $page_arr['pagecount'] . '</a></span>';
}
$li .= '<span><a class="button" href="/' . $method . '?page='. $pre_page .'">下一页</a></span>';
}
return $li;
评论