• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQueryでリストを分割してページ送りを表示)

jQueryでリストを分割してページ送りを表示

このQ&Aのポイント
  • jQueryを使用してリストを分割し、ページ送りで切り替える方法を紹介します。
  • HTMLの部分を変更して、ページネーションを「Prev」「Next」ボタンに置き換える方法を解説します。
  • 改善されたページネーションの見た目を実装するためのカウンターを追加します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

prevが押された時の処理でページを対象の-1 nextが押された時の処理でページを対象の+1 するような処理にして、 <span class="now">は現在のページを表示するように <span class="total">はページ数を表示するようにすれば良いと思います。

noname#210746
質問者

お礼

お礼コメントに書くのは間違っているかもしれませんが、回答を元にした現在の経過です。 タブだとindexとeqでタブとコンテンツの位置を合わせてあげれば良かったのですが、こういったグループごとに切り替えたい場合はどうしたら良いのか…。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <title>分割したリストをページ送りで表示</title> <script> $(function() { var split = 5; var division = 0; var items = $( '#list li' ).length; if( items > split ) { // ページネーション作成 $( '#list' ).before( '<ul id="pagenation">\n</ul>\n<span id="page"></span>\n' ); var prev = '<li id="list-prev">Prev</li>\n'; var next = '<li id="list-next">Next</li>\n'; $( '#pagenation' ).append( prev ); $( '#pagenation' ).append( next ); // 表示内容を関数に function display() { $( '#page' ).html( division + 1 + '/' + Math.ceil( items / split ) ); $( '#list li' ).hide(); $( '#list li:gt(' + division * split + '):lt(' + split + ')' ).stop( true, true ).fadeIn( 'fast' ); } // Prevをクリックしたときの処理 $( '#list-prev' ).click( function() { if( division > 0 ) { division--; display(); } }); // Nextをクリックしたときの処理 $( '#list-next' ).click( function() { if( division < ( items - 1 ) / split - 1 ) { division++; display(); } }); display(); } }); </script> </head> <body> <ul id="list"> <li>item01</li> <li>item02</li> <li>item03</li> <li>item04</li> <li>item05</li> <li>item06</li> <li>item07</li> <li>item08</li> <li>item09</li> <li>item10</li> <li>item11</li> <li>item12</li> <li>item13</li> <li>item14</li> <li>item15</li> </ul> </body> </html>

noname#210746
質問者

補足

回答ありがとうございます。 丁度そのページ送りの処理をどうしたら良いのか分からずに質問させて頂きました…。 ページ位置の表示については次の様にする事で解決できそうです。 var item = $('#list li').length; var i = 0; var split = 10; // リストアイテムを分割する数 /* Pagenation */ $( '#list' ).before( '<ul id="nav">\n</ul>\n<span id="page"></span>\n' ); var prev = '<li id="list-prev">Prev</li>\n'; var next = '<li id="list-next">Next</li>\n'; $( '#nav' ).append( prev ); $( '#nav' ).append( next ); $( '#page' ).html( i + 1 + '/' + Math.ceil( item / split ) ); ページ送りの部分をもう少し試行錯誤してみます。

関連するQ&A