-
Notifications
You must be signed in to change notification settings - Fork 35
/
news.js
60 lines (48 loc) · 1.83 KB
/
news.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
let articleTitleArray = [];
async function getNewshub() {
const response = await fetch(`js/app/members/news.json`);
const data = await response.json();
for (let i = 0; i < data.length; i++) {
let title = data[i].title.replace(/ /g, '-');
articleTitleArray.push(title);
}
return await data;
}
let articleMain = document.getElementById('articleMain');
function updateNewshub() {
getNewshub()
.then(data => {
for (let i = 0; i < data.length; i++) {
articleMain.insertAdjacentHTML("afterbegin", `
<div class ="articleContainer column4">
<div class ="articleImage" onClick="articleActivate(${data.length - 1 - i})"></div>
<div class ="articleText">
<h2 class ="articleAuthorDate"></h2>
<h1 class ="articleTitle"></h1>
<div class ="articleContent"></div>
<button onClick="articleActivate(${data.length - 1 - i})">Learn More</button>
</div>
</div>`);
}
let articleImage = document.querySelectorAll('.articleImage');
let articleTitle = document.querySelectorAll('.articleTitle');
let articleAuthorDate = document.querySelectorAll('.articleAuthorDate');
let articleContent = document.querySelectorAll('.articleContent');
for (let i = 0; i < data.length; i++) {
let date = data[i].date;
let content = data[i].content;
articleImage[i].style.backgroundImage = `url("${data[i].media}")`;
articleTitle[i].innerHTML = `${data[i].title}`;
articleAuthorDate[i].innerHTML = `By ${data[i].author} on ${date.substring(0, 10)}`;
articleContent[i].innerHTML = `${content.substring(0, 150)}...`;
}
});
}
updateNewshub();
function articleActivate(article) {
getNewshub()
.then(data => {
let currentURL = window.location.href;
window.location.href = `${currentURL}/${articleTitleArray[article]}`;
});
}