ページナビ(ページ移動スクリプト)の設置方法

※白背景部分の ソース等は ここ(Web上) で直接編集できます。 (IE,Firefox,Opera,Google Chrome 等 対応)

1. テンプレートの <head> ~ </head> 部分

<!--not_permanent_area--><!--not_titlelist_area--><!--not_edit_area--><!--not_index_area--><!--not_date_area-->
<script type="text/javascript" src="http://blog-imgs-35.fc2.com/a/r/i/arinogotokuatumarite/t_pagenavi.js"></script>
<script type="text/javascript">
<!--
nextpageurl = '<!--nextpage--><%nextpage_url><!--/nextpage-->';
prevpageurl = '<!--prevpage--><%prevpage_url><!--/prevpage-->';
n = '<%total_pages>';

//--></script>
<!--/not_date_area--><!--/not_index_area--><!--/not_edit_area--><!--/not_titlelist_area--><!--/not_permanent_area-->

2. ページナビを表示したい場所 に ↓太字スクリプト を追加

<!--not_permanent_area--><!--not_titlelist_area--><!--not_edit_area--><!--not_index_area-->
(中略)
<ul>
<!--topentry-->
<li><a href="#entry<%topentry_no>" title="この記事の先頭へ"><%topentry_title>&nbsp;[<%topentry_year>/<%topentry_month>/<%topentry_day>]</a>
</li><!--/topentry-->
</ul>
<div style="float:right">
&nbsp;&nbsp;<!--prevpage--><a href="<%prevpage_url>" title="前のページへ">← 前のページ</a> <!--/prevpage--><!--nextpage-->total <%total_pages> pages <a href="<%nextpage_url>" title="次のページへ">次のページ →</a> <!--/nextpage-->
</div>
<!--not_date_area-->

<script type="text/javascript">
pagenavi(5);
</script>
<br style="clear:both" />
<!--/not_date_area-->
<!--/not_index_area--><!--/not_edit_area--><!--/not_titlelist_area--><!--/not_permanent_area-->

外部スクリプト(t_pagenavi.js)の中身

function pagenavi(w)
{
if (n == '')
return;
url = nextpageurl;
add = -1;
if (url == '') {
url = prevpageurl;
add = 1;
}

ext = '.html';
if ((i = url.indexOf('/page-')) != -1) {
c = url.substring(i + 6, url.length - 5);
base = url.substring(0, i + 6);
} else if (url.indexOf('/category') != -1
|| url.indexOf('/blog-date-') != -1) {
i = url.lastIndexOf('-');
c = url.substring(i + 1, url.length - 5);
base = url.substring(0, i + 1);
} else if ((i = url.indexOf('page=')) != -1) {
c = url.substring(i + 5);
base = url.substring(0, i + 5);
ext = '';
} else {
c = 0;
add = 0;
base = '';
ext = '';
}
n = Number(n);
if (n < 1) n = 1;
c = Number(c) + add + 1;
if (c < 1) c = 1;
if (c > n) c = n;
if (w < 0) w = 0;
ww = 2 * w + 1;
for (i = 1; i <= n; i++) {
dot = '<a href=¥"' + base + (i - 1) + ext + '¥" title=¥"' + i + '¥">&nbsp;..&nbsp;</a>'
if ((c - w <= i && i <= c + w) || i == 1 || i == n
|| (i == 2 && c - w - 1 == i) || (i == n - 1 && c + w + 1 == i)) {
if (i == c) {
document.write('<b>&nbsp;' + i + '&nbsp;</b>');
} else {
document.write('<a href=¥"' + base + (i - 1) + ext + '¥" title=¥"' + i + '¥">&nbsp;' + i + '&nbsp;</a>');
}
} else if (i < c - w) {
if (i - 1 <= (c - w - 2) % ww) {
if (i - 1 == Math.floor(((c - w - 2) % ww + 1) / 2))
document.write(dot);
} else if ((c - i) % ww == 0)
document.write(dot);
} else if (i > c + w) {
if (n - i <= (n - c + w) % ww) {
if (n - i == Math.floor(((n - c + w) % ww + 1) / 2))
document.write(dot);
} else if ((i - c) % ww == 0)
document.write(dot);
}
}
}

© ありのごとくあつまりて http://arinogotokuatumarite.blog19.fc2.com/