update slide javascript

This commit is contained in:
acki
2024-09-03 11:12:12 -04:00
parent b8225b207b
commit e219f8c579
4 changed files with 59 additions and 69 deletions

View File

@@ -42,7 +42,7 @@
<div class="card">
<h1 class="card-title">Nos partenaires</h1>
<p class="card-text">
<div class="slideshow-container">
<div class="slideshow-container autoslide">
<div class="slide fade">
<a href="https://mercurycloud.fr"><img src="assets/partners/mercurycloud.png" alt="Logo Mercury Cloud" class="partner-logo"></a>
<a href="https://mercurycloud.fr" class="link"><p class="partner-name">Mercury Cloud</p></a>
@@ -56,8 +56,8 @@
<a href="https://www.instagram.com/odyssey_bde/" class="link"><p class="partner-name">Odyssey BDE ISEN Nantes</p></a>
</div>
<button class="prev" onclick="plusSlides(-1)">&#10094;</button>
<button class="next" onclick="plusSlides(1)">&#10095;</button>
<button class="prev">&#10094;</button>
<button class="next">&#10095;</button>
</div>
</div>
<div class="card-large-width">

View File

@@ -8,7 +8,6 @@
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap" rel="stylesheet">
<link href="style.css" rel="stylesheet">
<script src="slideshow.js" defer></script>
<script src="vslideshow.js" defer></script>
<link rel="icon" type="image/x-icon" href="assets/modelec-logo-small.png">
</head>
<body>
@@ -24,7 +23,7 @@
<div class="card-very-large-width">
<h1 class="card-title">Photo coupe de France de robotique 2024</h1>
<div class="card-text">
<div class="slideshow-container">
<div class="slideshow-container autoslide">
<div class="slide fade">
<img src="assets/photo%20coupe%202024/IMG-20240511-WA0004.jpg" alt="photo coupe de france de robotique 2024" class="photo-coupe">
</div>
@@ -37,41 +36,42 @@
<div class="slide fade">
<img src="assets/photo%20coupe%202024/PXL_20240510_230657006.NIGHT.jpg" alt="photo coupe de france de robotique 2024" class="photo-coupe">
</div>
<button class="prev" onclick="plusSlides(-1)">&#10094;</button>
<button class="next" onclick="plusSlides(1)">&#10095;</button>
<button class="prev">&#10094;</button>
<button class="next">&#10095;</button>
</div>
</div>
</div>
<div class="card-very-large-width">
<h1 class="card-title">Vidéo coupe de france de robotique 2024</h1>
<div class="card-text">
<div class="video-slideshow-container">
<div class="vslide fade">
<iframe src="https://r2.modelec.club/serie%202.mp4" class="video-coupe" allow="autoplay" allowfullscreen width="1920px" height="700px"></iframe>
<div class="slideshow-container">
<div class="slide fade">
<iframe src="https://r2.modelec.club/serie%202.mp4" class="video-coupe" allowfullscreen width="1920px" height="700px"></iframe>
<p class="card-subtext">Match de série 2</p>
</div>
<div class="vslide fade">
<iframe src="https://r2.modelec.club/serie%203.mp4" class="video-coupe" allow="autoplay" allowfullscreen width="1920px" height="700px"></iframe>
<div class="slide fade">
<iframe src="https://r2.modelec.club/serie%203.mp4" class="video-coupe" allowfullscreen width="1920px" height="700px"></iframe>
<p class="card-subtext">Match de série 3</p>
</div>
<div class="vslide fade">
<iframe src="https://r2.modelec.club/serie%204.mp4" class="video-coupe" allow="autoplay" allowfullscreen width="1920px" height="700px"></iframe>
<div class="slide fade">
<iframe src="https://r2.modelec.club/serie%204.mp4" class="video-coupe" allowfullscreen width="1920px" height="700px"></iframe>
<p class="card-subtext">Match de série 4</p>
</div>
<div class="vslide fade">
<iframe src="https://r2.modelec.club/serie%205%20pr%C3%A9paration.mp4" class="video-coupe" allow="autoplay" allowfullscreen width="1920px" height="700px"></iframe>
<div class="slide fade">
<iframe src="https://r2.modelec.club/serie%205%20pr%C3%A9paration.mp4" class="video-coupe" allowfullscreen width="1920px" height="700px"></iframe>
<p class="card-subtext">Préparation du match de série 5</p>
</div>
<div class="vslide fade">
<iframe src="https://r2.modelec.club/serie%205.mp4" class="video-coupe" allow="autoplay" allowfullscreen width="1920px" height="700px"></iframe>
<p class="card-subtext">Match de série 5</p>s
<div class="slide fade">
<iframe src="https://r2.modelec.club/serie%205.mp4" class="video-coupe" allowfullscreen width="1920px" height="700px"></iframe>
<p class="card-subtext">Match de série 5</p>
</div>
<div class="vslide fade">
<iframe src="https://r2.modelec.club/finale.mp4" class="video-coupe" allow="autoplay" allowfullscreen width="1920px" height="700px"></iframe>
<div class="slide fade">
<iframe src="https://r2.modelec.club/finale.mp4" class="video-coupe" allowfullscreen width="1920px" height="700px"></iframe>
<p class="card-subtext">Match de final</p>
</div>
<button class="vprev" onclick="vplusSlides(-1)">&#10094;</button>
<button class="vnext" onclick="vplusSlides(1)">&#10095;</button>
<button class="prev">&#10094;</button>
<button class="next">&#10095;</button>
</div>
</div>
</div>

View File

@@ -1,31 +1,42 @@
let slideIndex = 0;
let timer;
document.querySelectorAll(".slideshow-container").forEach((container) => {
let slideIndex = 0;
let timer;
function plusSlides(n) {
if (timer) clearTimeout(timer);
slideIndex+=n;
showSlides();
}
let sliderChild = [...container.children].filter(child => child.classList.contains("slide"));
function currentSlide(n) {
if (timer) clearTimeout(timer);
slideIndex = n;
showSlides();
}
let prevBtn = container.querySelector(".prev");
let nextBtn = container.querySelector(".next");
function showSlides() {
let i;
let slides = document.getElementsByClassName("slide");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
if (slideIndex > slides.length - 1) {slideIndex = 0}
slides[slideIndex].style.display = "flex";
prevBtn.addEventListener("click", () => plusSlides(-1));
nextBtn.addEventListener("click", () => plusSlides(1));
timer = setTimeout(() => {
slideIndex++;
function plusSlides(n) {
if (timer) clearTimeout(timer);
slideIndex+=n;
showSlides();
}, 5000);
}
}
showSlides(slideIndex);
function currentSlide(n) {
if (timer) clearTimeout(timer);
slideIndex = n;
showSlides();
}
function showSlides() {
let i;
for (i = 0; i < sliderChild.length; i++) {
sliderChild[i].style.display = "none";
}
if (slideIndex > sliderChild.length - 1) {slideIndex = 0}
sliderChild[slideIndex].style.display = "flex";
if (container.classList.contains("autoslide")) {
timer = setTimeout(() => {
slideIndex++;
showSlides();
}, 5000);
}
}
showSlides(slideIndex);
});

View File

@@ -1,21 +0,0 @@
let vslideIndex = 1;
vshowSlides(vslideIndex);
function vplusSlides(n) {
vshowSlides(vslideIndex += n);
}
function vcurrentSlide(n) {
vshowSlides(vslideIndex = n);
}
function vshowSlides(n) {
let i;
let slides = document.getElementsByClassName("vslide");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
vslideIndex++;
if (vslideIndex > slides.length) {vslideIndex = 1}
slides[vslideIndex-1].style.display = "flex";
}