-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
101 lines (77 loc) · 2.99 KB
/
app.js
File metadata and controls
101 lines (77 loc) · 2.99 KB
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/* JavaScript Calculator */
const calculateSumButtonElement = document.querySelector("#calculator button");
function calculateSum() {
const userNumberInputElement = document.getElementById("user-number");
let enteredNumber = userNumberInputElement.value;
let sumUpToNumber = 0;
for (let i = 0; i <= enteredNumber; i++) {
sumUpToNumber += i;
}
const outputResultElement = document.getElementById("calculated-sum");
outputResultElement.textContent = sumUpToNumber;
outputResultElement.style.display = "block";
}
calculateSumButtonElement.addEventListener("click", calculateSum);
/* Highlight Links */
const highlightLinksButtonElement = document.querySelector(
"#highlight-links button"
);
function highlightLinks() {
const anchorElements = document.querySelectorAll("#highlight-links a");
for (const anchorElement of anchorElements) {
anchorElement.classList.toggle("highlight");
}
}
highlightLinksButtonElement.addEventListener("click", highlightLinks);
/* User Information */
const userData = {
name: "Daniel",
age: 19,
student: true,
};
const displayUserDataButtonElement =
document.querySelector("#user-data button");
function displayUserData() {
const outputDataElement = document.getElementById("output-user-data");
outputDataElement.innerHTML = "";
for (const key in userData) {
const newUserDatalistItemElement = document.createElement("li");
const outputText = key.toUpperCase() + ": " + userData[key];
newUserDatalistItemElement.textContent = outputText;
outputDataElement.append(newUserDatalistItemElement);
}
}
displayUserDataButtonElement.addEventListener("click", displayUserData);
/* Statistics / Roll The Dice */
const rollDiceButtonElement = document.querySelector("#statistics button");
function rollDice() {
return Math.floor(Math.random() * 6) + 1;
}
function deriveNumberOfDiceRolls() {
const targetNumberInputElement =
document.getElementById("user-target-number");
const diceRollsListElement = document.getElementById("dice-rolls");
const enteredNumber = +targetNumberInputElement.value;
diceRollsListElement.innerHTML = "";
let hasRolledTargetNumber = false;
let numberOfRolls = 0;
while (!hasRolledTargetNumber) {
const rolledNumber = rollDice();
// if (rolledNumber == enteredNumber) {
// hasRolledTargetNumber = true;
// }
numberOfRolls++;
const newRollListItemElement = document.createElement("li");
const outputText = "Roll " + numberOfRolls + ": " + rolledNumber;
newRollListItemElement.textContent = outputText;
diceRollsListElement.append(newRollListItemElement);
hasRolledTargetNumber = rolledNumber == enteredNumber;
}
const outputTotalRollsElement = document.getElementById("output-total-rolls");
const outputtargetNumberElement = document.getElementById(
"output-target-number"
);
outputtargetNumberElement.textContent = enteredNumber;
outputTotalRollsElement.textContent = numberOfRolls;
}
rollDiceButtonElement.addEventListener("click", deriveNumberOfDiceRolls);