jquery.offdaytime.jsというプラグインをつくりました。

きっかけ

企業やお店のWEBサイトにあるお問合せページ等で、電話番号を提示してお電話を促したり、 スマートフォン向けに「電話する」リンクを設置したりするケースがあると思います。 しかし、定休日や営業時間外にもそれを表示するのも変だなと思っていて、

  • 営業時間内は電話での問合せを希望
  • 営業時間外や定休日はフォームからのお問合せを希望

とかしたい場合に、営業時間と定休日を見て各々判断してもらうのって不親切じゃないかと思い、 Javascriptで時間を判定してHTML要素を非表示にするコードを書いていました。

Website Usability Infoにも書いてあった

で、昨日読んだWeb ページから電話をかけるリンクという記事に、こういう記述があり、

また、さりげない配慮ではありますが、ユーザー (デバイス) の現在時間の情報を (日付や曜日も) 取得して、電話受付時間外 (営業時間外) であれば電話リンクを無効 (disable) にしたり、あるいは電話リンクが有効でも 「受付時間外のため留守電サービスになる」旨を案内する… といったこともできるとよいかもしれません。

まさにこれなので、今後自分でつくるものには適用していこうかなと思いプラグインにしました。

コード

Gistで公開しました。はじめてGistを使いましたがとても便利ですね。

書き終わった後に、営業時間が日を跨ぐ場合を考慮していないことに気が付きました。 閉店時間が閉店時間よりも小さい場合は時間の判定と曜日の取り方を変えないといけませんね。 コードに汎用性を持たせるのってホント難しいなと、プログラミングをやりはじめてつくづく実感しています。 先々週、オライリーのJavaScript第6版を買いました。初オライリー本。少しづつ読み進めています。

勉強しながら改変していければいいなと思います。

nagaki/jquery.offdaytime.js