SSブログ

2012-12-26  カテゴリ: ブログ

【ブログパーツ】 so-net用にページセレクタを作ってみました + 園博園のメジロ

園博園のめじろ

so-net用にページセレクタ

かなり記事数が増えてきて同一カテゴリの記事数も半端なくたくさんになっているものもあります。花暦など知らぬまに200近くの記事数になってしまいました。
時々ブログの旧記事を更新や訂正するために記事にアクセスするのですが、この記事数の多いカテゴリを処理するのがかなり面倒です。
当ブログは前後のつながりが自然に感じられるようにカテゴリ表示の場合は古い記事順に並べてしていますが、こうすると記事数の多いカテゴリ表示で一番新しい記事に行くためにはやたらと「次の15件」をクリックしまくらなければならずなかなかやっかいでした。これは普通に閲覧していても同じことです。

そんなこんなで簡単に目標の記事にアクセスができるようにページセレクタを作ってみました。今回はカテゴリ表示のみに限定して作りました。



若い数字のページは古い記事で新しい記事になるほど数字は大きくなります。
ゴールド文字で表示されるのは現在のページです。ほかの数字をクリックするとそのページに飛びます。


全体の感じは


一番下にもつけました。


これまでページめくりが大変だったのでカテゴリ1ページの表示数を15としていましてページ表示に時間がかかったのですがこれを機に10にしました。
JAVAスクリプトが有効になっていないと表示されませんが普通は有効になっていますので。
小分類として使っているタグ表示にも欲しいところですが、ページ数が少ないので今回は見送り、というか、so-net本来のタグとは違う使い方をしていますので私にはできません。で、「深圳の山と公園」の中で記事数の多い梧桐山は新しくカテゴリを作って移動しました。

ソースコードです
so-netブログはSeeSaaからブログソフトの提供を受けているようですのでSeeSaaの変数と同じです。
2ヶ所で使うので関数にしています。
スタイルシートで "page_sel" と "fl" を設定。

===================================
<script language="JavaScript">
<!--
function pageselecter() {
var articles_cnt=<% category.article_count %>; // 記事数
var n=<% blog.category_page_cnt %>; // 1ページの表示数
var pages=Math.floor((articles_cnt-1)/n+1);
var address1=("<% category.page_url %>");
var address=( address1.substring(0,address1.length-1) );

if ( pages > 1 ){
document.write( '<div class="page_sel"><strong class="fl">ページセレクタ </strong>' ); // ヘッダー
for (i=1; i <= pages; i++) {
if ( document.URL == ( address + i ) ) {document.write( '<span class="fl">' + i + '</span>' )}
else {document.write( '<a class="fl" href=' + address + i + '>' + i + '</a>' )}
}
document.write( '<br clear="all" /></div>' ); // フッター
}
} // Function

pageselecter()
// -->
</script>

===================================

タグ:
2012-12-26 コメント(0)

コメント (0)

コメントを書く

名前:[必須]
あなたのURL(名前にリンクされます):
コメント:
画像認証:
下の画像に表示されている文字を入力してください。


2024_03


Produced by Sceneway   copyright [コピーライト] "日本中国夢時間 香港から深圳そして中山へ" all rights reserved