This repository has been archived by the owner on Jul 7, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathscript.js
86 lines (64 loc) · 1.85 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
const testWrapper = document.querySelector(".test-wrapper");
const testArea = document.querySelector("#test-area");
const originText = document.querySelector("#origin-text p").innerHTML;
const resetButton = document.querySelector("#reset");
const theTimer = document.querySelector(".timer");
var timer = [0,0,0,0];
var interval;
var timerRunning = false;
//add leading zero
function leadingZero(time){
if(time<=9){
time = "0" + time;
}
return time;
}
//run a standard timer
function runTimer() {
let currentTime = leadingZero(timer[0]) + ":" + leadingZero(timer[1]) + ":" + leadingZero(timer[2]);
theTimer.innerHTML = currentTime;
timer[3]++;
timer[0] = Math.floor((timer[3]/100)/60);
timer[1] = Math.floor((timer[3]/100) - (timer[0]*60));
timer[2] = Math.floor(timer[3] - (timer[1]*100) - (timer[0]*60*100))
}
//match text
function spellCheck() {
let textEntered = testArea.value;
let originTextMatch = originText.substring(0,textEntered.length);
if(textEntered == originText){
testArea.style.borderColor = "green";
clearInterval(interval);
} else{
if(textEntered == originTextMatch){
testArea.style.borderColor = "midnightblue";
} else{
testArea.style.borderColor = "orangered";
}
}
}
//start a timer
function start() {
var textEnteredLength = testArea.value.length;
if(textEnteredLength === 0 && !timerRunning) {
timerRunning = true;
interval = setInterval(runTimer, 10);
}
}
//reset button
function reset() {
clearInterval(interval);
interval = null;
timer = [0,0,0,0];
timerRunning = false;
theTimer.innerHTML = "00:00:00";
testArea.style.borderColor = "silver";
testArea.value = "";
}
//TODO: add event listener(s) to keyboard input
testArea.addEventListener('keypress' ,function(){
start();
});
resetButton.addEventListener('click', function(){
reset();
});