Home  >  Article  >  Backend Development  >  javascript - 新手在项目中模仿sg的分页器. 求指点

javascript - 新手在项目中模仿sg的分页器. 求指点

WBOY
WBOYOriginal
2016-06-06 20:30:411241browse

<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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn