-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
49 lines (42 loc) · 1.32 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
timeEle = document.querySelector("#time");
hexEle = document.querySelector("#hex");
questionEle = document.querySelector("#question");
let timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
// console.log(timezone);
function time() {
var date = new Date();
times = Intl.DateTimeFormat(undefined, {
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
hour12: false,
timeZone: timezone,
}).format(date);
timeEle.innerHTML = times;
// var rgb = times.split(":");
var rgb = times.split`:`.map((x) => +x);
// console.log(rgb);
setContrast(rgb);
times = times.replaceAll(":", "");
hexColor = "#" + times;
// console.log(hexColor);
hexEle.innerHTML = hexColor;
document.body.style.backgroundColor = hexColor;
}
function setContrast(rgb) {
// console.log(typeof rgb[2]);
// console.log(parseInt(rgb[0], 16));
// console.log(parseInt(rgb[1], 16));
// console.log(parseInt(rgb[2], 16));
const brightness = Math.round(
(parseInt(rgb[0] * 299) + parseInt(rgb[1] * 587) + parseInt(rgb[2]) * 114) /
1000
);
// console.log(brightness);
const textColour = brightness > 125 ? "black" : "white";
// console.log(textColour);
timeEle.style.color = textColour;
hexEle.style.color = textColour;
questionEle.style.color = textColour;
}
var t = setInterval(time, 1000);