スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



mirrorMan1.58.zip

フォルダ遷移ごとに画面がフェードインするように変更。
$('td').toggle().fadeIn(300);

あとボタンクリックで日時を表示する部分、月表示が間違っていたので修正した。
ctimer.jpg
<span id=lftStatsbar></span>
function clockTimer(){
var timer = 0;
return function(){
if(timer) clearTimeout(timer);
else return timer = setTimeout('innerbull()',1000);
}
}
function innerbull(){
var d = new Date();
lftStatsbar.innerText = d.getYear() +"/"+
(d.getMonth()+1) +"/"+
d.getDate() +" "+
d.toLocaleTimeString();
tglClock = clockTimer();
tglClock();
}

d.getMonth()+1は前後処理の解釈から文字列で+してしまうので、
2008/61/12 12:59:00
となってしまっていた。(d.getMonth()+1)とすれば()内のみで型判定して+するので、
2008/7/12 12:59:00
だ。

このモジュールは、クロージャでタイマIDの変数timerを保持し、毎秒clearTimeout()してはDateオブジェクトを生成してsetTimeout()するという無駄なことをやっている。でも次のような場合に便利。たとえばフォルダ移動などの別のユーザ操作があったら日時表示を消したいときには、表示タグのinnerTextを毎秒上書きしているこのループ処理を止めなければならない。そんな箇所はあちこちにあったりする。あちこちでタイマIDをハンドルしてclearTimeout()してたらソースがちらかり、デバッグするのも気が重くなってしまう。上のようにしておけば、tglClock();と記述するだけでループの有無も気にすることなく止めることが可能だ。
スポンサーサイト



comment

Secret

while(aho.atEndofStream)

笹部 政宏
笹部 政宏
mail




フリーソフツ
Category
はてブ
Monthly Archive
New Entry
New Comment
New Trackback
RSS
Copyright © Kittens flewby me All Rights Reserved.

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。