FCafe  カレンダー当日表示別法

  カレンダーの「当日」に独自のclass付けがされるblogもありますが、FC2blogのカレンダーは特にそのような機能はありません。 「なければ作っちゃえ」というわけで記事を書いた事もありましたが、今日はその別法について。
以前書いたのは出力されるタグを途中スクリプトで加工して当日部に修飾を加えるというものでしたが、今回は出力された要素の属性を改変して当日部を修飾するものです。
( 共有テンプレートとして供出中の 「CalendArchive」 に使用 )

 

【 設置法 】   カレンダーの table タグ にIDを付けます (例

<table summary="calendar" id="Cal">

カレンダーブロック部分を以下↓のようにします(日付変数を spanタグで囲む)

<!--calender-->
<tr>
<td class="sun"><span><%calender_sun></span></td>
<td class="mon"><span><%calender_mon></span></td>
<td class="tue"><span><%calender_tue></span></td>
<td class="wed"><span><%calender_wed></span></td>
<td class="thu"><span><%calender_thu></span></td>
<td class="fri"><span><%calender_fri></span></td>
<td class="sat"><span><%calender_sat></span></td>
</tr>
<!--/calender-->

カレンダーの </table> 以降(</body> タグの手前でも可 ) に以下のスクリプトを書きます

<script type="text/javascript"><!--
function mkToday() {
var D=new Date();
if (D.getFullYear()==<%now_year> && D.getMonth()==<%now_month>-1){
var bgcol='#XXXXXX';   /* 「当日」の背景色 */
var T=">"+D.getDate()+"<";
var C=document.getElementById("Cal").getElementsByTagName("TD");
for (i=0;i<C.length;i++) {
 if (C[i].innerHTML.indexOf(T)>-1) {C[i].style.background=bgcol;}
} } }
mkToday();
//--></script>
 

【 解 説 】  スクリプトはまずカレンダーの表示している月が「今月」かどうかを調べます (過去月だったら何もしません)。 当月であれば当日のセルを探して背景色を変更します。(日付をspanタグで挟むのは記事リンク等に含まれる数字と区別する為です)
セルの背景色を変更するのはリンク付き日にちの装飾と別個に設定可能だからですがこの辺りはお好みで変更されて下さい。( 割と短いソースだと思いますが、更にスマートな方法があれば是非 )


Comment

manannan manannan Edit
02/07 09:21

お願い お願いがあって参上しました。
今度またテンプレートを出したいのですが、danielさんが御作りになったCalendarchiveを「つくりつけ」で設置させていただいていいでしょうか。
もし差支えがなければ、テンプレート自体を、「改造再配布可」にしたいとも考えております。

お返事がいただけたら、大変嬉しいです。
お気が向かない場合も、ご忌憚なくお知らせください。

 manannan

(ちょっと緊張しています。フォーラムと言葉づかいが違うような気が自分でもします)

daniel daniel Edit
02/07 09:43

manannan さんお早うございます。
Calendarchive の件ですが全く問題ありません。 御自由にお使いください
( 私自身他所様のプラグインに触発されて作ったものですしね )

どんなテンプレートができるのか楽しみにお待ちしております

manannan manannan Edit
02/11 22:37

ご快諾ありがとうございます。 おかげさまで、3日ほど前にテンプレートの共有申請を済ませました。ところが申請後にわらわらとミスや気にくわない点が出てきまして、修正ばかりしていて、お礼とご報告が遅れました。すみません。

daniel daniel Edit
02/12 00:28

manannan さんこんばんは。
それは ありがちな事です (というか私などはいつもそうですよ)
年明けのは早かったのですが、今はまた結構掛かるようですね。
承認まで時間がある(掛かる)と、とりあえず申請しておいて、
公開までに細部を調整してやれ、・・などと思ってしまいます。

manannan manannan Edit
10/28 08:20

またしても テンプレート中に、お借りします。いつもお世話になっております。m(_ _)m

daniel daniel Edit
10/28 14:05

manannan さんこんにちは。 新しいテンプレートを作られたのですか。
渋いシルバー調でイイ感じじゃないですか。 共有化が楽しみです。
こちらこそ 御利用いただきありがたく思っております。

いたお いたお Edit
09/22 00:17

紹介記事のご報告 お久しぶりです。danielさん。
FC2ブログのテンプレート工房のいたおです。

いつも素晴らしいスクリプトを公開してくださり有り難うございます。
事後報告で申しわけありませんが、このスクリプトを参考にした記事を掲載致しました。もしご不都合があればお知らせください。
http://10plate.blog44.fc2.com/blog-entry-311.html

恐縮ですがトラックバックも送らせてもらいました。
danielさんは多くの素晴らしいスクリプトを公開してくれているのでまたお世話になると思いますがよろしくお願い致します m(__)m

daniel daniel Edit
09/24 13:54

いたおさん どうも御無沙汰しております。
連休旅行に出ておりましてお返事が遅れ申し訳ありませんでした。

拙記事を御紹介いただき ありがとうございます。
最近はエクセル代わりにHTMLとスクリプトを使っている私ですが
何かありましたらいつでも声を掛けて下さいまし。


.  
HN Title URL PW secret

TrackBack http://pcafe.blog3.fc2.com/tb.php/298-23547371

Shown after Admisson
FC2ブログのテンプレート工房 *
FCafeを運営するdanielさんが、カレンダーの今日「当日」を装飾した共有プラグイン「CalendArchive」を公開してくれています。 【参考記事】 FCafe ...
.

≫ リストに項目説明を 公開エントリ総数 ≪

2006 / 02 / 04  Sat
Navigation   
Comment 8 / TB 1 / Edit
Designed by Daniel Corporation . all rights renounced