そららのクリエイティブログ

I LIKE CREATIVE.

【Vue.js+TypeScript】デジタル時計を作ってみた

Vue.jsとTypeScriptで作るデジタル時計
こんにちはです。あっちのそららです。
最近勉強しているTypeScriptのアウトプットとして、デジタル時計を作ってみました。

デモページ

acchinosorara.github.io
「Vue.js」というフレームワークを使用。ディスプレイの文字がリアルタイムで更新される、ありきたりな時計です。

文字のデザイン

カクカクしたデジタル時計らしさを出すため、文字はCSSでデザインしました。

参考記事

ja.wikipedia.org

7セグメントディスプレイの構成
HTMLで各セグメントを生成し、A~Gの連番を振って配置しました。数字に応じて個々の表示・非表示が切り替わる仕組みです。
例えば、

  • 「2」→ C、Fを非表示
  • 「4」→ A、D、Eを非表示
  • 「7」→ A、B、Cを表示

となります。
全ての数字のパターンを作る必要があり、実装が地味に大変でした。とはいえ、一回作ってしまえば、文字数がいくら増えても使い回せるので、あとが楽です。

多言語対応

蛇足な気もしますが、英語・日本語を切り替えられる仕様にしました。

英語

英語表記のデジタル時計

日本語

日本語表記のデジタル時計

アクセシビリティ

視覚障がいの方向けに、スクリーンリーダーによる読み上げもテストしました。こちらも多言語対応です。
といっても、環境やスクリーンリーダーの種類によってはうまく動作しない可能性もあるので、あしからず。

さいごに

github.comソースコードはGitHubで公開しているので、興味のある方は覗いてみてください。実際に公開して動いているのを見ると楽しいものですね。
今後は、ぼちぼち機能拡張もしていきたい。

さて、隠れたバグもあるだろう。

©2017 Sorara Creative Blog