simplePagination.jsは、簡単にページネーションを表示させることができるのですが、そのままだと指定ページが表示されず、1ページ目が表示されます。
今回、ページ指定して表示させたかったので、下記ブログを参考にさせていただきました。
http://blogs.yahoo.co.jp/hashtagmatome/68361527.html
http://blogs.yahoo.co.jp/hashtagmatome/68378328.html
呼び出し側のjQueryに下記を設定します。
例えば、index.htmlからページネーションの組まれているdetail.htmlの3ページ目に進みたかったら、index.htmlの方に下記を設定する必要があります。
<script type="text/javascript"> $(function(){ var n = window.location.href.slice(window.location.href.indexOf('#') + 4); var page="#page-"+n; $('.selection').hide() $(page).show(); return false; }); </script>
呼び出し側のhtmlは下記のように記載します。
ここのポイントはアンカータグ内でID指定ではなくパラメタ指定をすることです!
<html> <head> </head> <body> <ul> <li><a href="detail.html?no=1">このリンクをクリックするとコンテンツ1に移動</a></li> <li><a href="detail.html?no=2">このリンクをクリックするとコンテンツ2に移動</a></li> <li><a href="detail.html?no=3">このリンクをクリックするとコンテンツ3に移動</a></li> <li><a href="detail.html?no=4">このリンクをクリックするとコンテンツ4に移動</a></li> </ul> </body> </html>
その後、ページネーションが組まれているページ、ここではdetail.htmlに下記を設定します。
<script type="text/javascript"> var flg = ""; //呼び出し元が?no=xxの場合↓ var flg = window.location.href.slice(window.location.href.indexOf('?') + 2); flg = flg.slice(0,1); //↑flgのnoの"o"の取り出し if ( flg == "o" ){ /////////////////////// $(function() { var n = window.location.href.slice(window.location.href.indexOf('?') + 4); var page="#page-"+n; $('.selection').hide() $(page).show(); return false; }); ////////////////////// //他のページにも移動できるようにnを初期化 var n = ""; $(function(){ var n = window.location.href.slice(window.location.href.indexOf('?') + 4); var page="#page-"+n; $("#paging").pagination({ currentPage: n, items: 4, displayedPages: 4, prevText: 'PREV', nextText: 'NEXT', onPageClick: function(pageNumber){show(pageNumber)} }) }); function show(pageNumber){ var page="#page-"+pageNumber; $('.selection').hide() $(page).show() } } else{ //呼び出し元がノーマルの#page-xxの場合だった時 $(function(){ $("#paging").pagination({ items: 4, displayedPages: 4, prevText: 'PREV', nextText: 'NEXT', onPageClick: function(pageNumber){show(pageNumber)} }) }); function show(pageNumber){ var page="#page-"+pageNumber; $('.selection').hide() $(page).show() } } </script>
hashtagmatomeのブログさんのおかげで助かりました。
実際のデモページは下記に載せておきます。