3E e 3I SIA: Come creare uno slide show in Html

Questo codice crea un semplice slideshow di immagini con pulsanti per navigare manualmente tra di esse, utilizzando stili CSS e funzioni JavaScript




pagina.html

<!DOCTYPE html>
<html>
<title>W3.CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<style>
.mySlides {display:none;}
</style>
<body>

<h2 class="w3-center">Manual Slideshow</h2>

<div class="w3-content w3-display-container">
<img class="mySlides" src="img_snowtops.jpg" style="width:100%">
<img class="mySlides" src="img_lights.jpg" style="width:100%">
<img class="mySlides" src="img_mountains.jpg" style="width:100%">
<img class="mySlides" src="img_forest.jpg" style="width:100%">

<button class="w3-button w3-black w3-display-left" onclick="plusDivs(-1)">&#10094;</button>
<button class="w3-button w3-black w3-display-right" onclick="plusDivs(1)">&#10095;</button>
</div>

<script>
var slideIndex = 1;
showDivs(slideIndex);

function plusDivs(n) {
showDivs(slideIndex += n);
}

function showDivs(n) {
var i;
var x = document.getElementsByClassName("mySlides");
if (n > x.length) {slideIndex = 1}
if (n < 1) {slideIndex = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex-1].style.display = "block";
}
</script>

</body>
</html>


Spiegazione della pagina html


Ecco una spiegazione riga per riga dello slideshow HTML:

1. `<!DOCTYPE html>`: Dichiara il tipo di documento e indica che si tratta di un documento HTML5.
2. `<html>`: Tag di apertura del documento HTML.
3. `<title>W3.CSS</title>`: Definisce il titolo della pagina visualizzato nella scheda del browser.
4. `<meta name="viewport" content="width=device-width, initial-scale=1">`: Imposta le dimensioni del viewport per adattarsi alla larghezza del dispositivo, essenziale per il responsive design.
5. `<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">`: Include un file CSS esterno da W3Schools per supportare stili predefiniti.
6. `<style>`: Inizia una sezione di stili CSS interni alla pagina.
7. `.mySlides {display:none;}`: Definisce uno stile per gli elementi con classe `mySlides`, nascondendoli inizialmente.
8. `</style>`: Chiude la sezione di stili interni.
9. `<body>`: Tag di apertura del corpo della pagina, dove sarà contenuto il contenuto visualizzato.
10. `<h2 class="w3-center">Manual Slideshow</h2>`: Aggiunge un'intestazione centrata con il testo "Manual Slideshow".
11. `<div class="w3-content w3-display-container">`: Crea un contenitore div con classi per centraggio e display da W3.CSS.
12-15. `<img class="mySlides" ...>`: Quattro tag immagine, ognuno con la classe `mySlides`, impostati per riempire tutta la larghezza del contenitore; iniziando nascosti a causa dello stile definito.
16. `<button class="w3-button w3-black w3-display-left" onclick="plusDivs(-1)">&#10094;</button>`: Crea un pulsante per scorrere all'immagine precedente, visualizzato a sinistra, che chiama la funzione `plusDivs(-1)` al clic.
17. `<button class="w3-button w3-black w3-display-right" onclick="plusDivs(1)">&#10095;</button>`: Crea un pulsante simile per scorrere all'immagine successiva, visualizzato a destra.
18. `</div>`: Chiude il div del contenitore della slideshow.
19-30. `<script>...</script>`: Sezione script dove si definiscono le funzioni JavaScript.
- `var slideIndex = 1;`: Variabile per tenere traccia dell'indice corrente della diapositiva.
- `showDivs(slideIndex);`: Chiama la funzione per mostrare la diapositiva iniziale.
- `function plusDivs(n) {...}`: Definisce una funzione per cambiare diapositiva incrementando o decrementando l'indice.
- `function showDivs(n) {...}`: Funzione che aggiorna la visualizzazione delle diapositive.
- `var x = document.getElementsByClassName("mySlides");`: Seleziona tutti gli elementi con la classe `mySlides`.
- Controlla se il nuovo indice è fuori dai limiti e lo regola di conseguenza.
- Nasconde tutte le diapositive e mostra solo quella corrispondente all'indice corrente.

31. `</body>`: Chiude il corpo del documento.
32. `</html>`: Chiude l'intero documento HTML.

Commenti

Post popolari in questo blog

Esercizi in Excel e fogli di Google

Simulazioni di reti (con Cisco Packet Tracer)