Restriction (actuelle) : Un carrousel par page web.
Les flèches de navigation sont à gauche et à droite de la zone centrale.
Textes
Ce code n'est généralement utilisé que sur la page d'accueil du site. De plus, le code contenu dans le fichier slidesText.css et slidesText.js est trop grand pour être ajouté respectivement à w3P.css et à w3P.js.
Ces codes CSS et surtout JS sont améliorés (par rapport à ceux de la w3schools). En effet, les "dots" sont créés automatiquement via JS.
slidesText.css :
/* Slides container */ .slideshow-container { position: relative; background: #f1f1f1f1; } /* Slides */ .mySlides { display: none; padding: 80px; text-align: center; } /* Next & previous buttons */ .prev, .next { cursor: pointer; position: absolute; top: 50%; width: auto; margin-top: -30px; padding: 16px; color: #888; font-weight: bold; font-size: 20px; border-radius: 0 3px 3px 0; user-select: none; } /* Position the "next button" to the right */ .next { position: absolute; right: 0; border-radius: 3px 0 0 3px; } /* On hover, add a black background color with a little bit see-through */ .prev:hover, .next:hover { background-color: rgba(0,0,0,0.8); color: white; } /* The dot/bullet/indicator container */ .dot-container { text-align: center; padding: 20px; background: #ddd; } /* The dots/bullets/indicators */ .dot { cursor: pointer; height: 15px; width: 15px; margin: 0 2px; background-color: #bbb; border-radius: 50%; display: inline-block; transition: background-color 0.6s ease; } /* Add a background color to the active dot/circle */ .active, .dot:hover { background-color: #717171; } /* Add an italic font style to all quotes */ q {font-style: italic;} /* Add a blue color to the author */ .author {color: cornflowerblue;}
slidesText.js :
var slideIndex = 1; createDots(); showSlides(slideIndex); function plusSlides(n) {showSlides(slideIndex += n);} function currentSlide(n) {showSlides(slideIndex = n);} function createDots(){ var nb=document.getElementsByClassName("mySlides").length; var divDotContainer=document.getElementsByClassName("dot-container")[0]; var i,span; for (i=1;i<=nb;i++){ let x=i; /* x = copie de la valeur du i*/ span=document.createElement("span"); span.className="dot"; span.addEventListener('click', function(){ currentSlide(x); /* si le paramètre était i => valeur = référence à i qui vaut nb à la fin de la bouche */ }); divDotContainer.appendChild(span); } } function showSlides(n) { var slides = document.getElementsByClassName("mySlides"); var nb=slides.length; var dots = document.getElementsByClassName("dot"); if (n > nb) {slideIndex = 1} if (n < 1) {slideIndex = nb} var i; for (i = 0; i < nb; i++) { slides[i].style.display = "none"; dots[i].className = dots[i].className.replace(" active", ""); } slides[slideIndex-1].style.display = "block"; dots[slideIndex-1].className += " active"; }