Skip to content

learn404/Carousel-Javascript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Carousel en JavaScript

Bienvenue dans l'exercice de carousel en JavaScript ! Dans cet exercice, vous allez apprendre à créer un carousel d'images simple en utilisant JavaScript. Cela vous aidera à pratiquer la gestion des interactions utilisateur, la manipulation du DOM et la mise à jour de l'interface utilisateur en fonction des actions de l'utilisateur.

Objectifs

  • Comprendre comment sélectionner et manipuler des éléments du DOM en utilisant JavaScript.
  • Apprendre à ajouter des écouteurs d'événements pour gérer les interactions utilisateur.
  • Implémenter des fonctionnalités pour naviguer entre différentes images dans un carousel.

Instructions

Configurer la structure HTML

Créez un fichier index.html avec la structure de base suivante :

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Carousel JS</title>
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
        <div class="carousel">
            <button class="carousel-button prev" aria-label="Previous Slide">&lt;</button>
            <div class="carousel-track-container">
                <ul class="carousel-track">
                    <li class="carousel-slide current-slide">
                        <img src="https://via.placeholder.com/600x300?text=Slide+1" alt="Slide 1">
                    </li>
                    <li class="carousel-slide">
                        <img src="https://via.placeholder.com/600x300?text=Slide+2" alt="Slide 2">
                    </li>
                    <li class="carousel-slide">
                        <img src="https://via.placeholder.com/600x300?text=Slide+3" alt="Slide 3">
                    </li>
                </ul>
            </div>
            <button class="carousel-button next" aria-label="Next Slide">&gt;</button>
            <div class="carousel-nav">
                <button class="carousel-indicator current-slide"></button>
                <button class="carousel-indicator"></button>
                <button class="carousel-indicator"></button>
            </div>
        </div>
        <script src="script.js"></script>
    </body>
    </html>

Styliser le Carousel et le Contenu

Créez un fichier style.css pour styliser votre carousel. Voici un exemple de base pour commencer :

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f4f4f4;
    margin: 0;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.carousel {
    position: relative;
    width: 600px;
    max-width: 100%;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.carousel-track-container {
    overflow: hidden;
}

.carousel-track {
    display: flex;
    transition: transform 0.3s ease-in-out;
}

.carousel-slide {
    min-width: 100%;
    box-sizing: border-box;
}

.carousel-slide img {
    display: block;
    width: 100%;
}

.carousel-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5);
    border: none;
    color: white;
    font-size: 24px;
    cursor: pointer;
    padding: 10px;
    border-radius: 50%;
    user-select: none;
}

.carousel-button.prev {
    left: 10px;
}

.carousel-button.next {
    right: 10px;
}

.carousel-nav {
    text-align: center;
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
}

.carousel-indicator {
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    margin: 0 5px;
    cursor: pointer;
}

.carousel-indicator.current-slide {
    background-color: white;
}

Implémenter la Logique JavaScript

Créez un fichier script.js où vous écrirez le JavaScript pour gérer le changement d'image dans le carousel :

Étapes pour compléter l'exercice :

  1. Sélectionnez les éléments DOM nécessaires :
  • Utilisez document.querySelector et document.querySelectorAll pour sélectionner les boutons de navigation, les éléments de slide, et le conteneur de la piste de carousel.
  1. Ajoutez des écouteurs d'événements :
  • Ajoutez des écouteurs d'événements click aux boutons de navigation "prev" et "next".
  1. Gérez la navigation des slides :
  • Dans l'écouteur d'événement du bouton "prev", décrémentez l'index de la slide actuelle, assurez-vous que l'index reste dans les limites (0 à nombre total de slides - 1). Appliquez la transformation de la piste du carousel pour afficher la slide précédente.
  • Dans l'écouteur d'événement du bouton "next", incrémentez l'index de la slide actuelle, assurez-vous que l'index reste dans les limites. Appliquez la transformation de la piste du carousel pour afficher la slide suivante.
  1. Mettez à jour l'état actif :
  • Assurez-vous de mettre à jour les classes des slides et des indicateurs pour refléter l'état actuel après chaque navigation.

Tester Votre Solution

  • Ouvrez le fichier index.html dans votre navigateur.
  • Cliquez sur les boutons pour naviguer entre les slides et assurez-vous que le comportement est correct.

Défis Supplémentaires

  • Ajoutez du CSS pour indiquer visuellement quelle slide est actuellement active.
  • Implémentez la même fonctionnalité en utilisant la délégation d'événements.
  • Rendez le carousel accessible en permettant la navigation au clavier.

Ressources Supplémentaires

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published