Home > Article > Backend Development > javascript - 新手在项目中模仿sg的分页器. 求指点
<code><?php if($countPage > 1):?> <div class="pagination-1 pagination"> <div class="nextPrev-1"> <ul style="overflow:hidden;"> <?php if($currentPage > 1):?><li><a href="<?php%20echo%20query_url_build('p',%20%24prev)?>">上一页</a></li> <?php endif;?> <?php if($currentPage >= 5 && $countPage >= $currentPage):?> <li><a href="<?php%20echo%20query_url_build('p',1)?>">1</a></li> <li>...</li> <?php endif;?> <?php $count = ($countPage < 5 ? $countPage : '') ? $countPage : 5; for($i = 0; $i < $count; $i++): $index = 0; if($currentPage/5 >= 1){ $index = (($currentPage-5)%3 == 0) ? ($currentPage-5)/3 + 1 : floor(($currentPage-5)/3 + 1); } $number = 3 * $index + $i + 1; ?> <li class="<?php echo ((@$_GET['p'] == $number) || (empty($_GET['p'])&&$number==1)) ? 'currentPage' : '';?>"> <a href="<?php%20echo%20query_url_build('p',%20%24number)?>"><?php echo $number;?></a> </li> <?php if($number == $countPage){break;} endfor;?> <?php if($countPage !== (int)$number):?><li><a>...</a></li> <?php endif;?> <li><a href="<?php%20echo%20query_url_build('p',%20%24next)?>">下一页</a></li> <li><a href="<?php%20echo%20query_url_build('p',%20%24countPage)?>">末页</a></li> </ul> </div> </div> <?php endif;?> </code>
我只拿到了四条数据,当前页,总页,上一页,下一页;
有没有别的写法 , 我想我这种很低劣吧
<code><?php if($countPage > 1):?> <div class="pagination-1 pagination"> <div class="nextPrev-1"> <ul style="overflow:hidden;"> <?php if($currentPage > 1):?><li><a href="<?php%20echo%20query_url_build('p',%20%24prev)?>">上一页</a></li> <?php endif;?> <?php if($currentPage >= 5 && $countPage >= $currentPage):?> <li><a href="<?php%20echo%20query_url_build('p',1)?>">1</a></li> <li>...</li> <?php endif;?> <?php $count = ($countPage < 5 ? $countPage : '') ? $countPage : 5; for($i = 0; $i < $count; $i++): $index = 0; if($currentPage/5 >= 1){ $index = (($currentPage-5)%3 == 0) ? ($currentPage-5)/3 + 1 : floor(($currentPage-5)/3 + 1); } $number = 3 * $index + $i + 1; ?> <li class="<?php echo ((@$_GET['p'] == $number) || (empty($_GET['p'])&&$number==1)) ? 'currentPage' : '';?>"> <a href="<?php%20echo%20query_url_build('p',%20%24number)?>"><?php echo $number;?></a> </li> <?php if($number == $countPage){break;} endfor;?> <?php if($countPage !== (int)$number):?><li><a>...</a></li> <?php endif;?> <li><a href="<?php%20echo%20query_url_build('p',%20%24next)?>">下一页</a></li> <li><a href="<?php%20echo%20query_url_build('p',%20%24countPage)?>">末页</a></li> </ul> </div> </div> <?php endif;?> </code>
我只拿到了四条数据,当前页,总页,上一页,下一页;
有没有别的写法 , 我想我这种很低劣吧
使用Laravel做分页的输出,可以一行代码搞定,很优雅!具体参照它的API