0

HTMLで簡単なページネーションを行う方法を調べていますが、何か足りないと思います。現在のページ番号とページあたりの最大行数を使用し
て行う方法を考え出しました。 また、css 経由のリンクを表示する方法に関するチュートリアルもいくつか見つかりました。例えば LIMIT

<ul id="mystyle">  
<li class="previous">«Previous</li>  
<li class="active">1</li>  
<li><a href="?page=2">2</a></li>  
<li><a href="?page=3">3</a></li>  
<li><a href="?page=4">4</a></li>  
<li><a href="?page=5">5</a></li>  
<li><a href="?page=6">6</a></li>  
<li><a href="?page=7">7</a></li>  
<li class="next"><a href="?page=2">Next »</a></li>  
</ul>  

しかし、ユーザーがページを選択するために押すリンクの表示に混乱しています。Previousユーザーが行の最初のバッチを表示するとき、この時点では前の行がないため (ページ 1 の前には前の行がないことを意味します) 、ユーザーは a を表示できないはずです。したがって、最後のバッチでは、最後のページの後に何もないため、(少なくともハイパーリンクである)
を見ることができないはずです。しかし、私はそれをどのように判断するかについて混乱しています。 私が考えることができる唯一の方法は、ページングしている結果セットの合計サイズを持つようにすることです。しかし、これはページングのパフォーマンスの目的を無効にしませんか。私は巨大な結果セットでかなりの時間がかかることを経験しました(特に結合がある場合-つまり、データの量以外に)。NextNext
SELECT COUNT(*)SELECT COUNT(*)
アルゴリズムを構築する方法と、私を混乱させる微妙な点を理解するのに助けが必要です。

4

1 に答える 1

0

免責事項、これはサーバー側のコードを見たり、アプリケーションについて何も知らなかったりすることではありませんが、この jQuery ソリューションで始めることができる可能性があります。繰り返しますが、それは私がそれを処理する方法ではありません。

if ($('li.active').text() === '1') {
    $('li.previous').hide();
}

if ($('li.next').prev('li').hasClass('active')) {
    $('li.next').hide();
}

これにより、必要に応じて前へ/次へのボタンが非表示になります。

于 2013-10-21T20:08:59.533 に答える