-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
48 lines (39 loc) · 1.67 KB
/
index.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
import { projectsArray } from "./data.js";
let numberOfProjects = 3
let slicedProjectsArray = []
const viewMoreBtn = document.getElementById('btn-view-more')
viewMoreBtn.addEventListener('click', function () {
numberOfProjects += 3
// hide "view more" button when numberOfProjects goes beyond length of projects array
if (numberOfProjects >= projectsArray.length) {
viewMoreBtn.classList.toggle('hidden')
//document.getElementById('more-examples').classList.toggle('hidden')
}
getProjectsHtml(numberOfProjects)
renderProjects()
})
function getProjectsHtml (n) {
slicedProjectsArray = projectsArray.slice(0, n)
return slicedProjectsArray
}
function renderProjects() {
let projectsHtml = ''
slicedProjectsArray.forEach ( project => {
projectsHtml += `
<div class="">
<a class="project project-tile" id="${project.id}" href="${project.liveLink}" target="_blank">
<img class="project-image" src="${project.img}" alt="${project.alt}">
</a>
<div class="project project-info">
<p class="project-title">${project.title}</p>
<p class="project-links">
<a class="project-links_link" href="${project.repoLink}" target="_blank"><i class="fa-brands fa-github"></i> Repo</a> |
<a class="project-links_link" href="${project.liveLink}" target="_blank"><i class="fa-solid fa-link"></i> Demo</a></p>
</div>
</div>
`
document.getElementById('projects-grid').innerHTML = projectsHtml
})
}
getProjectsHtml(numberOfProjects)
renderProjects()