-
Notifications
You must be signed in to change notification settings - Fork 0
/
schmategy.js
41 lines (33 loc) · 1.07 KB
/
schmategy.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
const randomItem = (array) => array[Math.floor(Math.random() * array.length)];
let data;
fetch("data.json")
.then((response) => response.json())
.then((json) => {
data = json;
generateAndDisplayStrategy();
});
const generateStrategy = () => {
return `To ${randomItem(data.objectives)}, we will ${randomItem(
data.actions
)} ${randomItem(data.when)}.`;
};
const animateText = async (element, text, interval) => {
const words = text.split(" ");
let content = "";
for (const word of words) {
content += `${word} `;
element.textContent = content;
await new Promise((resolve) => setTimeout(resolve, interval));
}
};
const generateAndDisplayStrategy = () => {
const strategy = generateStrategy();
const displayElement = document.getElementById("display");
animateText(displayElement, strategy, 100);
};
document
.getElementById("generate")
.addEventListener("click", generateAndDisplayStrategy);
document.getElementById("contact").addEventListener("click", function () {
window.location.href = "mailto:[email protected]";
});