2 つの変数に基づいて場所が開いているかどうかを知らせるこの小さなオブジェクトを作成しました。しかし、私はjavascriptがあまり得意ではないので、これをさらに改善したいと思います。ベストプラクティスは何かを知りたいです。ユーザーが閉じるまたは開く1分前にそこに到達するユーザーの開閉ステータスをリアルタイムで更新するにはどうすればよいですか。
html
<h1 class="status"></h1>
<h2 class="hours"></h2>
CSS
body {
color: white;
text-align: center;
font-size: 2em;
}
.open { background-color: #00a638; }
.closed { background-color: black; }
js
// variables
var open = "7:00";
var close = "5:00";
// setup miliary time
var mClose = close.replace(/:/g,'') + 1200;
var mOpen = open.replace(/:/g,'');
if (mOpen < 1000) {
mOpen = "0" + mOpen;
}
// setup hours
var now = new Date();
var hour = now.getHours();
if (hour >= 10) { mHour = hour;
} else { mHour = "0" + hour; }
// setup minutes
var minute = now.getMinutes();
if (minute < 10) {
minute = "0" + minute;
}
var time = "" + mHour + minute;
console.log("Time is " + time);
// open/close status
if ((time >= mOpen) && (time < mClose)) {
$("body").addClass("open");
$(".status").html("Yes, We're Open");
} else {
$("body").addClass("closed");
$(".status").html("Sorry We're Closed");
}
// display hours
$(".hours").html(open + " to " + close);