Mise à jour Camille
This commit is contained in:
parent
1dd4060314
commit
b373875a61
33 changed files with 883 additions and 150 deletions
25
assets/js/project-slideshow.js
Normal file
25
assets/js/project-slideshow.js
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
document.querySelectorAll(".project-slideshow").forEach((slideshow) => {
|
||||
function goToNextSlide() {
|
||||
const currentSlide = document.querySelector(".project-images .active");
|
||||
const slideToShow = currentSlide.nextElementSibling
|
||||
? currentSlide.nextElementSibling
|
||||
: document.querySelector(".project-images img");
|
||||
|
||||
currentSlide.classList.toggle("active");
|
||||
slideToShow.classList.toggle("active");
|
||||
}
|
||||
|
||||
const images = slideshow.querySelector(".project-images");
|
||||
const prevButton = slideshow.querySelector(".prev");
|
||||
const nextButton = slideshow.querySelector(".next");
|
||||
|
||||
nextButton.addEventListener("click", () => {
|
||||
goToNextSlide();
|
||||
});
|
||||
|
||||
prevButton.addEventListener("click", () => {
|
||||
currentIndex =
|
||||
(currentIndex - 1 + images.children.length) % images.children.length;
|
||||
goToPrevSlide();
|
||||
});
|
||||
});
|
||||
36
assets/js/project-toggle.js
Normal file
36
assets/js/project-toggle.js
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
const allProjects = document.querySelectorAll(".projects-index li");
|
||||
|
||||
allProjects.forEach((project) => {
|
||||
project.addEventListener("click", () => {
|
||||
allProjects.forEach((unselected) => {
|
||||
unselected.classList.add("unselected");
|
||||
unselected.classList.remove("selected");
|
||||
});
|
||||
project.classList.add("selected");
|
||||
project.classList.remove("unselected");
|
||||
});
|
||||
});
|
||||
|
||||
const projectTogglers = document.querySelectorAll(".project-toggler");
|
||||
|
||||
projectTogglers.forEach((button) => {
|
||||
button.addEventListener("click", (event) => {
|
||||
const parentLi = button.closest("li");
|
||||
if (parentLi.classList.contains("selected")) {
|
||||
event.stopPropagation();
|
||||
allProjects.forEach((project) => {
|
||||
project.classList.remove("unselected");
|
||||
parentLi.classList.remove("selected");
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const allProjectsCloser = document.querySelector(".all-projects-closer");
|
||||
|
||||
allProjectsCloser.addEventListener("click", (event) => {
|
||||
allProjects.forEach((project) => {
|
||||
project.classList.remove("selected");
|
||||
project.classList.remove("unselected");
|
||||
});
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue