-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.js
More file actions
77 lines (70 loc) · 2.13 KB
/
index.js
File metadata and controls
77 lines (70 loc) · 2.13 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
function index() {
function getDataFromJSON(day) {
let request = new XMLHttpRequest();
request.open("GET", "assets/meta-data.json");
request.responseType = "json";
request.send();
request.onload = function () {
var metaData = request.response;
var data = metaData["data"];
openModal(data[day - 1]);
};
}
function openModal(data) {
for (key in data) {
var day = key;
var title = data[key].title;
}
const modalDiv = document.getElementsByClassName("modal");
modalDiv[0].style.display = "flex";
const href = '"/JavaScript30/Day-' + day + '/html_day_' + day + '.html"';
const src = '"/JavaScript30/assets/images/' + day + '.png"';
// const href = '"/Day/' + day + '.html"';
// const src = '"/assets/images/' + day + '.png"';
modalDiv[0].innerHTML =
`
<div class="modal-content">
<div class="modal-header">
<div class="modal-day">Day-` +
day +
`</div>
<span class="close">×</span>
</div>
<div class="modal-body">
<div class="modal-body-left">
<div class="modal-title">` +
title +
`</div>
<div class="modal-details">To be Updated ...</div>
</div>
<div class="modal-body-right">
<div class="modal-preview">
<a
role="button"
rel="noopener noreferrer"
href=` + href + `
target="_blank"
aria-hidden="true"
title="Preview"
>
<img class="image" src=` + src + `alt="Preview Project" />
<div>
<div class="text">🔗</div>
</div>
</a>
</div>
</div>
</div>
</div>`;
}
document.addEventListener("click", function (e) {
if (e.target.className.startsWith("item")) {
getDataFromJSON(e.target.id);
} else if (!e.target.tagName.localeCompare("SPAN")) {
const modal = document.getElementsByClassName("modal");
modal[0].style.display = "none";
modal[0].textContent = "";
}
});
}
window.addEventListener("DOMContentLoaded", index);