Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Come creare un Carousel Testimonianze con auto-rotazione e controlli manuali

Come realizzare un Carousel Testimonianze con auto-rotazione e controlli manuali in HTMl, CSS e JavaScript
Come realizzare un Carousel Testimonianze con auto-rotazione e controlli manuali in HTMl, CSS e JavaScript
Link copiato negli appunti

Le testimonianze dei clienti rappresentano uno degli elementi più efficaci per aumentare la fiducia degli utenti e migliorare il tasso di conversione di un sito web. Quando però le recensioni diventano numerose, mostrarle tutte contemporaneamente può occupare molto spazio e rendere la pagina meno ordinata. Una soluzione pratica ed elegante consiste nell'utilizzare un carousel dedicato alle testimonianze, che permetta di visualizzare una recensione alla volta con una rotazione automatica e la possibilità di navigare manualmente tra i contenuti.

In questo tutorial vedremo come realizzare da zero un carousel di testimonianze utilizzando esclusivamente HTML, CSS e JavaScript, senza ricorrere a librerie esterne o framework. Il componente sarà completamente responsive, semplice da personalizzare e dotato di due funzionalità molto richieste: l'auto-rotazione delle recensioni a intervalli regolari e i controlli manuali tramite pulsanti "precedente" e "successivo".

Al termine della guida avrai a disposizione un widget moderno e professionale da integrare facilmente in qualsiasi sito web, landing page o portfolio, migliorando l'esperienza utente e valorizzando le opinioni dei tuoi clienti.

Linguaggi Utilizzati e Anteprima del Risultato

Per realizzare questo carousel testimonianze utilizzeremo tre tecnologie fondamentali dello sviluppo web front-end. L'HTML si occuperà della struttura del componente, definendo il contenitore principale, il contenuto delle recensioni e i pulsanti di navigazione. CSS verrà utilizzato per curare l'aspetto grafico del carousel, applicando stili moderni, spaziature, colori, ombre ed effetti di transizione per rendere l'interfaccia più accattivante. Infine, JavaScript gestirà tutta la logica dinamica, permettendo la rotazione automatica delle testimonianze e l'interazione con i controlli manuali.

Il risultato finale sarà un elegante slider di recensioni capace di mostrare una testimonianza alla volta all'interno di un riquadro ben strutturato. Le recensioni scorreranno automaticamente dopo alcuni secondi, garantendo una presentazione dinamica dei contenuti senza l'intervento dell'utente. Inoltre, grazie ai pulsanti di navigazione, sarà possibile passare manualmente alla testimonianza successiva o tornare a quella precedente.

Questo tipo di componente è particolarmente utile nelle homepage, nelle landing page, negli e-commerce e nei portfolio professionali, dove le recensioni dei clienti possono contribuire a rafforzare la credibilità del brand e incentivare nuove conversioni.

Il codice HTML

<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Carosello recensioni</title>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js" defer></script>
    </head>
<body>
    <div class="testimonial-carousel">
        <div class="testimonial active">
        <p class="quote">"Servizio impeccabile e assistenza sempre disponibile. Consigliatissimi!"</p>
        <h4>Marco Rossi</h4>
        </div>
        <div class="testimonial">
        <p class="quote">"Esperienza eccellente dall'inizio alla fine. Sicuramente tornerò ad acquistare."</p>
        <h4>Laura Bianchi</h4>
        </div>
        <div class="testimonial">
        <p class="quote">"Professionalità, qualità e attenzione ai dettagli. Un team davvero affidabile."</p>
        <h4>Giuseppe Verdi</h4>
        </div>
        <div class="controls">
        <button id="prevBtn"></button>
        <button id="nextBtn"></button>
        </div>
    </div>
</body>
</html>

La struttura è composta da un contenitore principale (testimonial-carousel) che racchiude tutte le testimonianze. Ogni recensione è inserita all'interno di un elemento con classe testimonial, contenente il testo della recensione e il nome del cliente.
La prima testimonianza possiede anche la classe active, che verrà utilizzata per mostrarla all'apertura della pagina. Le altre recensioni saranno inizialmente nascoste e verranno visualizzate dinamicamente tramite JavaScript.
Infine, nella sezione controls, troviamo i due pulsanti che consentiranno la navigazione manuale tra le testimonianze: uno per tornare alla recensione precedente e uno per passare a quella successiva.

Il codice CSS

.testimonial-carousel {
    max-width: 700px;
    margin: 0 auto;
    background: #ffffff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    text-align: center;
    position: relative;
}
.testimonial {
    display: none;
    animation: fadeIn 0.5s ease;
}

.testimonial.active {
    display: block;
}
.quote {
    font-size: 1.2rem;
    line-height: 1.8;
    color: #555;
    margin-bottom: 20px;
}

.testimonial h4 {
    color: #222;
    margin: 0;
}
.controls {
    margin-top: 30px;
}

.controls button {
    background: #222;
    color: #fff;
    border: none;
    padding: 12px 18px;
    margin: 0 5px;
    cursor: pointer;
    border-radius: 6px;
    font-size: 18px;
    transition: background 0.3s ease;
}
.controls button:hover {
    background: #444;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

Il codice CSS definisce innanzitutto il layout generale della pagina e del contenitore che ospita il carousel. La classe .testimonial-carousel crea un riquadro elegante con sfondo bianco, bordi arrotondati e un'ombra leggera che mette in risalto il contenuto.
Le singole testimonianze vengono inizialmente nascoste tramite display: none, mentre la classe active permette di visualizzare soltanto la recensione attualmente selezionata. In questo modo JavaScript potrà gestire facilmente il passaggio da una testimonianza all'altra.
Per migliorare l'esperienza utente è stata aggiunta un'animazione fadeIn, che rende la transizione tra le recensioni più fluida e piacevole. I pulsanti di navigazione sono invece stilizzati con colori scuri, bordi arrotondati ed effetti hover che forniscono un feedback visivo immediato durante l'interazione.

Codice JavaScript

const testimonials = document.querySelectorAll(".testimonial");
const prevBtn = document.getElementById("prevBtn");
const nextBtn = document.getElementById("nextBtn");
let currentIndex = 0;

function showTestimonial(index) {
    testimonials.forEach((testimonial) => {
        testimonial.classList.remove("active");
    });
    testimonials[index].classList.add("active");
}

function nextTestimonial() {
    currentIndex++;
    if (currentIndex >= testimonials.length) {
    currentIndex = 0;
    }

    showTestimonial(currentIndex);
}
function prevTestimonial() {
    currentIndex--;

    if (currentIndex < 0) {
        currentIndex = testimonials.length - 1;
    }
    showTestimonial(currentIndex);
}

nextBtn.addEventListener("click", nextTestimonial);
prevBtn.addEventListener("click", prevTestimonial);
// Auto-rotazione ogni 5 secondi
setInterval(nextTestimonial, 5000);

Il codice inizia selezionando tutte le testimonianze presenti nella pagina e i due pulsanti che verranno utilizzati per la navigazione manuale. La variabile currentIndex tiene traccia della recensione attualmente visualizzata.
La funzione showTestimonial() si occupa di nascondere tutte le testimonianze rimuovendo la classe active e di mostrare soltanto quella corrispondente all'indice ricevuto come parametro.
Le funzioni nextTestimonial() e prevTestimonial() gestiscono rispettivamente il passaggio alla recensione successiva e a quella precedente. Quando viene raggiunta l'ultima testimonianza, il carousel ricomincia automaticamente dalla prima, creando un ciclo continuo.

Infine, tramite addEventListener(), i pulsanti vengono collegati alle relative funzioni di navigazione, mentre setInterval() attiva l'auto-rotazione delle recensioni ogni cinque secondi, garantendo un'esperienza dinamica anche senza l'intervento dell'utente.

Analisi del risultato finale

Il risultato finale sarà un carousel testimonianze completamente funzionante e pronto per essere integrato in qualsiasi progetto web. Le recensioni verranno mostrate una alla volta all'interno di un contenitore elegante e ben organizzato, con una transizione fluida che rende il cambio di contenuto più piacevole e professionale.

L'auto-rotazione consente di presentare più testimonianze senza occupare troppo spazio nella pagina, mentre i controlli manuali offrono all'utente la libertà di consultare le recensioni al proprio ritmo. Questa combinazione migliora l'esperienza di navigazione e contribuisce a valorizzare le opinioni dei clienti in modo ordinato e coinvolgente.
Il componente può essere ulteriormente personalizzato modificando colori, dimensioni, tempi di rotazione, animazioni o aggiungendo elementi come immagini profilo, valutazioni a stelle e indicatori di navigazione, adattandosi facilmente allo stile grafico del sito in cui viene utilizzato.

Conclusione

Grazie alla combinazione di auto-rotazione e controlli manuali, è possibile realizzare un componente moderno e funzionale che migliora la presentazione delle recensioni e contribuisce a rafforzare la credibilità di un sito web.
Partendo da questa base, si può personalizzare il carousel in base alle esigenze del progetto, aggiungendo nuove animazioni, elementi grafici o funzionalità avanzate per ottenere un risultato ancora più coinvolgente e professionale.

Ti consigliamo anche