zjsに手を加えました.ファイルはhttp://github.com/takehiko/zjsより取得可能です.
今回の主要な修正箇所は以下の3点です.
1. 砂時計モードを設置しました.前回リンクした,「ライトニングトークスタイマー」「D3timer」の真似です.
停止時もカウント時も,Gのキーを押せば挙動が変わります.
- hourglassMode == 0 (?h=0) : 砂時計表示をせず,背景は常に黒です.デフォルトです.
- hourglassMode == 1 (?h=1) : カウント時に砂時計表示をします.
- hourglassMode == 2 (?h=2) : 停止時もカウント時も,砂時計表示をします.
実現に当たって,「砂時計の背景」と「黒の背景」を組み合わせました.「砂時計の背景」は,ブラウザ表示画面全面に表示させるようにします.「黒の背景」の高さを,時間の経過に伴い減らすことで,砂時計のように下から積み上がるように見せることができました.色合いは,砂時計のイメージよりも,遠くから分秒の数字が読めることを重視して選びました.
これまで同様,Firefox, Internet Explorer, Opera, Safari, Google Chromeのいずれもわりかし新しいバージョンで動作を確認しています.
2. URLオプションについて,以下の不具合を修正しました.
(略)
*5: URLのうち,最後の「/」以降が時間設定の対象となるため.この改善は今後の課題です.
これまで,location.hrefの最後の「/」以降としていたのを,location.pathnameの最後の「/」以降と,location.search,location.hashを連結させたものに書き換えました.ロケーション(Location)の例が非常にわかりやすく,参考にしました.
3. JavaScriptのコードの中でいろいろとおかしな記述があったので,修正しました.