diff --git a/assets/.DS_Store b/assets/.DS_Store new file mode 100644 index 00000000..5008ddfc Binary files /dev/null and b/assets/.DS_Store differ diff --git a/assets/script.js b/assets/script.js index 4fe57504..58d601e8 100644 --- a/assets/script.js +++ b/assets/script.js @@ -1,18 +1,90 @@ const slides = [ { - "image":"slide1.jpg", - "tagLine":"Impressions tous formats en boutique et en ligne" + "image":"./assets/images/slideshow/slide1.jpg", + "tagLine":"Impressions tous formats en boutique et en ligne" }, { - "image":"slide2.jpg", - "tagLine":"Tirages haute définition grand format pour vos bureaux et events" + "image":"./assets/images/slideshow/slide2.jpg", + "tagLine":"Tirages haute définition grand format pour vos bureaux et events" }, { - "image":"slide3.jpg", - "tagLine":"Grand choix de couleurs de CMJN aux pantones" + "image":"./assets/images/slideshow/slide3.jpg", + "tagLine":"Grand choix de couleurs de CMJN aux pantones" }, { - "image":"slide4.png", - "tagLine":"Autocollants avec découpe laser sur mesure" + "image":"./assets/images/slideshow/slide4.png", + "tagLine":"Autocollants avec découpe laser sur mesure" } -] +]; + +//eventlistener sur chacune des fleches du carrousel +let arrow_left = document.querySelector(".arrow_left") +let arrow_right = document.querySelector(".arrow_right") +//Récupérer le class dots +let dots = document.querySelector(".dots") +//définir l'index actuel du carousel +let currentIndex = 0 +//Récupérer l'image à l'intérieur de la div +let bannerImg = document.querySelector(".banner-img") +//Récupérer la balise p à l'intérieur de la div +let bannerText = document.querySelector("#banner p") +//tableau pour stocker les bullets points + + + + +//fonction permettant de mettre à jour le carousel +function carousel(){ + //mettre à jour l'image + bannerImg.src = slides[currentIndex].image + //mettre à jour le texte + bannerText.innerHTML = slides[currentIndex].tagLine + //Mettre à jours les dots + upDateDots() +} + +//fonction créant les bullet points pour chaque image du carousel +function createDots(){ + //création de la liste de bullet points + let ul = document.createElement("ul") + // Ajout de la classe dots à ul + ul.classList.add("dots") + dots.appendChild(ul) + //boucle permettant de récupérer le nombre de bullet points à ajouter + for(let i=0; i < slides.length; i++){ + let li = document.createElement("li") + ul.appendChild(li) + // Ajout de la classe dot à tous les li + li.classList.add("dot") + } +} + +//fonction permettant de mettre à jour les bullet points en fonction de l'image à l'écran +function upDateDots (){ + // Récupérer toutes les class dot + let allDot = document.querySelectorAll(".dot") + // Appliquer la class dol_selected au bon bullet point + allDot.forEach((dot, index) => { + if (index === currentIndex) { + dot.classList.add("dot_selected") + } else { + dot.classList.remove("dot_selected") + } + }) +} + +//ajout du déclenchement de l'image suivant au click sur la flèche de droite +arrow_right.addEventListener("click",() => { + currentIndex = (currentIndex + 1) % slides.length; + carousel() +}) + +//ajout du déclenchement de l'image suivant au click sur la flèche de gauche +arrow_left.addEventListener("click",() => { + currentIndex = (currentIndex - 1 + slides.length) % slides.length; + carousel() +}) + +//Appeler les fonctions +createDots() +carousel() diff --git a/assets/style.css b/assets/style.css index ebec468b..24bfb6fe 100644 --- a/assets/style.css +++ b/assets/style.css @@ -53,9 +53,7 @@ table { border-collapse: collapse; border-spacing: 0; } -body { -} section { margin-block: 6em; } @@ -127,10 +125,12 @@ header { position: absolute; } #banner .arrow_left { - left: 10px; + position: relative; + right: 580px; } #banner .arrow_right { - right: 10px; + position: relative; + left: 580px; } /* Gestion des points du carrousel */ .dots { diff --git a/index.html b/index.html index 8c07106a..f6b6cb98 100644 --- a/index.html +++ b/index.html @@ -8,6 +8,7 @@ +
-