Astuce #19: Créer un carrousel avec Javascript et CSS

Поделиться
HTML-код
  • Опубликовано: 18 окт 2021
  • Un carrousel (ou défilement en carrousel) est un effet très prisé sur les site Web. Dans cette vidéo, nous allons voir comment créer un carrousel avec Javascript et CSS. La plupart des développeurs intègrent un carrousel dans la page d'accueil afin de donner une idée au visiteur sur le contenu disponible sur le site Web. Un carrousel sert à faire défiler des images comme une sorte d'album photo, à exposer des annonces ou des titres qui pourraient intéresser le visiteur.
  • НаукаНаука

Комментарии • 62

  • @MohamedChiny
    @MohamedChiny  2 года назад +3

    Pour plus de cours, rendez-vous sur chiny.me

  • @mohamadoubell5657
    @mohamadoubell5657 2 года назад +2

    On peut pas s'ennuyer avec un mentor tel que vous,
    merci encore grand prof et bon courage..

    • @MohamedChiny
      @MohamedChiny  2 года назад

      De rien Mohamadou. Merci pour votre commentaire. J'apprécie beaucoup :)

  • @electronpositron7005
    @electronpositron7005 2 года назад +3

    Excellent tuto très bien expliqué 😊 👍👍👍👍👍👍

    • @MohamedChiny
      @MohamedChiny  2 года назад +1

      Merci pour votre compliment :)

  • @finger226
    @finger226 2 года назад +2

    Jolie astuce 👍. Simple et facile à comprendre

    • @MohamedChiny
      @MohamedChiny  2 года назад +1

      Merci pour votre commentaire :)

  • @agbalenyoelvis
    @agbalenyoelvis Год назад +2

    Merci pour cette vidéo. Elle est très instructive

    • @MohamedChiny
      @MohamedChiny  Год назад

      De rien. Je suis content que la vidéo vous ait plu. Merci pour votre commentaire :)

  • @didierguy6714
    @didierguy6714 Год назад +1

    Merci énormément pour ce tuto ;)

    • @MohamedChiny
      @MohamedChiny  Год назад

      De rien Didier. Merci pour votre commentaire :)

  • @mikaellesguer7817
    @mikaellesguer7817 Год назад +2

    je tenais a te remercier pour ce tuto clair que j'ai suivi jusqu'au bout 👍👍

    • @MohamedChiny
      @MohamedChiny  Год назад

      De rien Mikael. Merci pour votre commentaire :)

  • @geek4life369
    @geek4life369 2 месяца назад +1

    Excellent merci !

  • @juliengilbert7065
    @juliengilbert7065 Год назад +1

    Merci pour le tuto :)

    • @MohamedChiny
      @MohamedChiny  Год назад

      De rien. Merci pour votre commentaire :)

  • @Eniram96
    @Eniram96 11 месяцев назад +2

    Bonjour, où avez-vous trouvé les flèches ? Merci :)

    • @MohamedChiny
      @MohamedChiny  11 месяцев назад +1

      Bonsoir. Y a plein de sources pour ça, les plus recommandées sont les sites qui proposent des images libres de droit, comme flaticon, freepng... Pour les grandes images JPEG je vous recommande Pixabay. Il en existe plein d'autres mais ce sont ceux que j'utilise le plus. Bonne chance :)

  • @tokishujin
    @tokishujin 2 года назад +4

    pour faire un sorte que si on atteint une extremité on puisse toujours appuyer sur le bouton et que le carroussel reboucle a l'infini, comment on peut faire ?

    • @MohamedChiny
      @MohamedChiny  2 года назад +1

      Il suffit de dupliquer les containers autant de fois que nécessaire. De préférence de manière dynamique à l'aide de méthodes Javascript comme document.createElement() et object.appendChild()...

    • @michabris2673
      @michabris2673 3 месяца назад

      Bonjour, perso, en travaillant avec Jquery, j'ai fait ça (si tu clique a droite, alors que tu est sur la dernière photo, tu revient au début, même principe pour la flèche gauche) :
      $(document).ready(function() {
      var nbr = 5;
      var p = 0;
      var container = $('#container');
      var g = $('#g');
      var d = $('#d');
      container.css('width', (800 * nbr) + "px");
      for (var i = 1; i

  • @nshkeurasien34
    @nshkeurasien34 Год назад +1

    Bonjour, merci pour ce tuto super bien expliqué, je voulais savoir est il possible de faire en sorte que les images du carrousel défilent automatiquement

    • @MohamedChiny
      @MohamedChiny  Год назад +1

      Bonsoir. De rien. Je suis content que la vidéo vous ait plu.
      Oui bien sûr, il suffit que vous remplaciez g.onclick (ou d.onclick) par setInterval() ou setTimeout() qui permet d'inclure une temporisation et relancer la fonction automatiquement.
      Je vous recommande cette vidéo qui pourrait vous aider à comprendre le principe de la temporisation: ruclips.net/video/VO8nZrqDDwM/видео.html
      Merci pour votre commentaire :)

  • @user-gf6jx6pl8h
    @user-gf6jx6pl8h 9 месяцев назад +1

    👍👍👍👍👍Bonjour et super bravo pour ce tutoriel très bien expliqué. J’ai regardé plusieurs fois la vidéo et recopier correctement les codes pour les 2 fichiers nécessaires, le html et le CSS ,mais mon carrousel hélas ne fonctionne pas🤥🤥. Si je vous envoie les 2 fichiers, pourriez-vous svp me dire où se situe mon erreur !! D’avance merci et bravo pour vos cours..

    • @MohamedChiny
      @MohamedChiny  9 месяцев назад

      De rien.
      Voilà le code HTML:
      Carrousel






      document.body.onload=function(){
      nbr=5;
      p=0;
      container=document.getElementById("container");
      g=document.getElementById("g");
      d=document.getElementById("d");
      container.style.width=(800*nbr)+"px";
      for(i=1;i-nbr+1)
      p--;
      container.style.transform="translate("+p*800+"px)";
      container.style.transition="all 0.5s ease";
      afficherMasquer();
      }
      d.onclick=function(){
      if(p

    • @MohamedChiny
      @MohamedChiny  9 месяцев назад

      Et voilà le CSS:
      body{
      margin:0;
      display:flex;
      align-items: center;
      justify-content: center;
      min-height:100vh;
      background-image:url("../images/back.jpg");
      background-size:cover;
      }
      #carrousel{
      width:800px;
      height:400px;
      border:solid 4px #FFF;
      box-shadow:0 0 14px rgba(0,0,0,0.3);
      position:relative;
      overflow:hidden;
      }
      #container{
      width:800px;
      height:400px;
      }
      .photo{
      width:800px;
      height:400px;
      margin:0;
      display:inline-block;
      background-size:cover;
      }
      .bouton{
      position:absolute;
      width:70px;
      cursor:pointer;
      top:150px;
      }
      #g{
      left:0;
      opacity:0.4;
      transform:rotate(0deg);
      transition:all 0.3s ease;
      }
      #d{
      right:0;
      opacity:0.4;
      transform:rotate(180deg);
      transition:all 0.3s ease;
      }
      #g:hover{
      transform:rotate(0deg) scale(1.1);
      opacity:1;
      transition:all 0.3s ease;
      }
      #d:hover{
      transform:rotate(180deg) scale(1.1);
      opacity:1;
      transition:all 0.3s ease;
      }

    • @user-gf6jx6pl8h
      @user-gf6jx6pl8h 9 месяцев назад

      @@MohamedChiny Bonjour Mohamed,
      Vraiment trop trop super, un grand merci pour votre réponse très rapide que je n’attendais pas avec autant de réactivité. J’ai donc pu recopier correctement les 2 codes que je compare aux miens depuis 6h ce matin et en examinant en détail toute la syntaxe (guillemets, virgules, parenthèses, etc. etc.) et pour l’instant je ne trouve pas mon erreur, mais peu importe car avec votre corrigé le slider fonctionne correctement. J’ai visionné plusieurs fois votre tuto et réalisé plusieurs copies d’écran avec Photoshop afin de recopier correctement la syntaxe. Ce tuto me servira beaucoup car j’en trouve peu sur le web qui fonctionne à part ceux trouvés sur W3Schools. Pour info, j’ai déjà crée 2 sites, le premier il y a une douzaine d’années avec Dreamweaver www.in-concept.fr/,
      Et un second il y a 3 ans avec les syntaxes html, css, et js fcaclub34.fr/.
      Je travaille essentiellement les cours avec les tutos trouvés sur internet et je vais essayer d’améliorer mon site de funboard…..
      Encore merci, merci beaucoup et à bientôt peut être .
      Georges Clerget ecolo34@hotmail.fr
      👍👍👍👍👍👍👍

  • @simoneziggar1067
    @simoneziggar1067 9 месяцев назад +1

    S'il vous plaît j'aimerai savoir comment faire pour trouver le bouton du carrousel

    • @MohamedChiny
      @MohamedChiny  9 месяцев назад

      Il s'agit d'une image. Il existe plein de sites qui offrent des images et icônes gratuites, comme sur ce lien: www.flaticon.com/fr/icones-gratuites/la-fleche
      Bonne chance :)

  • @mathieustamm7395
    @mathieustamm7395 Год назад +1

    Bonjour. J'aimerais tester quelques choses avec un carousel. J'aimerais a la place des images, mettre des pages html(ou php), et faire en sorte que ça me donne un aperçu, en gros de la page. Donc un carousel avec des pages html ou php à la place d'images.
    Est-ce faisable ?
    Merci d'avance

    • @MohamedChiny
      @MohamedChiny  Год назад

      Oui bien sûr que c'est faisable, d'ailleurs je l'ai mentionné dans la vidéo. Ce sont des div qui sont animées, donc vous pourrez y mettre n'importe quel contenu (images, vidéos, textes, ou tout ça à la fois).

  • @stevengns268
    @stevengns268 5 месяцев назад +1

    Salut. J'aimerais savoir comment tu as renommé tes images

    • @MohamedChiny
      @MohamedChiny  5 месяцев назад

      Salut. J'ai utilisé les nom "im1.jpg", "im2.jpg"... Sinon renommez vos images comme vous voulez, et mettez leurs chemin dans un tableau Javascript et utilisez les indices du tableau pour y accéder.
      Bonne chance :)

  • @fredp9187
    @fredp9187 10 месяцев назад +1

    Bonjour ! Supervideo, j'aimerais faire un effet infini sur mes photos, une fois arrivé a la derniere j'aimerais qu il revienne a la premiere, est ce possible avec cette methode de carrousel?
    Merci d'avance pour la réponse

    • @MohamedChiny
      @MohamedChiny  10 месяцев назад

      Bonjour. Oui bien sûr, tout est possible. Il faudra retoucher le code un peu et vous obtiendrez tous les effets que vous souhaitez.
      Merci pour votre commentaire :)

    • @fredp9187
      @fredp9187 10 месяцев назад +1

      un indice sur les commandes a realiser? :)
      @@MohamedChiny

    • @MohamedChiny
      @MohamedChiny  10 месяцев назад

      @@fredp9187 Vous pouvez par exemple créer une div supplémentaire à chaque fois que vous vous rapprochez de la dernière image. Dans cette div, vous intégrez la première image et ainsi de suite. On aura donc l'impression que l'album refait un tour, alors qu'en fait il continue dans un même sens, mais les images se répètent à chaque fois il y a un besoin.

  • @chainehadhouda4130
    @chainehadhouda4130 Год назад +1

    merci

    • @MohamedChiny
      @MohamedChiny  Год назад

      De rien. Merci pour votre commentaire :)

  • @elfisanguine1407
    @elfisanguine1407 Год назад +1

    bonjour comment pourrais je faire si je veux ajouter via js uniquement des bullets dot liés au images lorsque celle ci défile svp? merci

    • @MohamedChiny
      @MohamedChiny  Год назад +1

      Bonsoir.
      Moi j'aurais pensé à des containers HTML (div ou autres) positionnés en absolute et qui seront ensuite placés là où vous souhaitez sur l'image.
      Sinon, une solution classique consiste à utiliser la balise pour une image.
      Bonne chance :)

    • @elfisanguine1407
      @elfisanguine1407 Год назад +1

      @@MohamedChiny merci je vais essayer

    • @MohamedChiny
      @MohamedChiny  Год назад

      @@elfisanguine1407 De rien :)

  • @swag6687
    @swag6687 Год назад +1

    Salut, ton tuto marche bien sauf que mon image ne rentre pas dans le cadre, serais tu comment la redimensionner ?

    • @MohamedChiny
      @MohamedChiny  Год назад

      Salut. Il s'agit d'une image d'arrière plan. Donc elle rentre dans le cadre dans tous les cas, mais elle pourrait être tronquée, alors vous appliquez le style background-size:cover pour en afficher le maximum. Vous pouvez mettre pause sur le CSS pour voir le style statique, sinon, y a aussi du style qui a été appliqué dans la partie Javascript. Bonne chance :)

    • @swag6687
      @swag6687 Год назад

      @@MohamedChiny Merci ! Je vais essayer

  • @matheobuseniers6893
    @matheobuseniers6893 8 месяцев назад +1

    bonjour j’ai besoin daide malgré avoir suivi le tuto aucune de mes images s’affiche, adresse des images correctes, la partie js ne sest pas mise en couleur partout comme vous, pouvez vous maidez? merci d’avance

    • @MohamedChiny
      @MohamedChiny  8 месяцев назад

      Voilà le code HTML:
      Carrousel






      document.body.onload=function(){
      nbr=5;
      p=0;
      container=document.getElementById("container");
      g=document.getElementById("g");
      d=document.getElementById("d");
      container.style.width=(800*nbr)+"px";
      for(i=1;i-nbr+1)
      p--;
      container.style.transform="translate("+p*800+"px)";
      container.style.transition="all 0.5s ease";
      afficherMasquer();
      }
      d.onclick=function(){
      if(p

    • @MohamedChiny
      @MohamedChiny  8 месяцев назад

      Le CSS:
      body{
      margin:0;
      display:flex;
      align-items: center;
      justify-content: center;
      min-height:100vh;
      background-image:url("../images/back.jpg");
      background-size:cover;
      }
      #carrousel{
      width:800px;
      height:400px;
      border:solid 4px #FFF;
      box-shadow:0 0 14px rgba(0,0,0,0.3);
      position:relative;
      overflow:hidden;
      }
      #container{
      width:800px;
      height:400px;
      }
      .photo{
      width:800px;
      height:400px;
      margin:0;
      display:inline-block;
      background-size:cover;
      }
      .bouton{
      position:absolute;
      width:70px;
      cursor:pointer;
      top:150px;
      }
      #g{
      left:0;
      opacity:0.4;
      transform:rotate(0deg);
      transition:all 0.3s ease;
      }
      #d{
      right:0;
      opacity:0.4;
      transform:rotate(180deg);
      transition:all 0.3s ease;
      }
      #g:hover{
      transform:rotate(0deg) scale(1.1);
      opacity:1;
      transition:all 0.3s ease;
      }
      #d:hover{
      transform:rotate(180deg) scale(1.1);
      opacity:1;
      transition:all 0.3s ease;
      }

    • @MohamedChiny
      @MohamedChiny  8 месяцев назад

      Quant-aux images, elles doivent être placées dans le dossier "images" qui figure au même emplacement que le HTML, pareil pour le dossier "css".
      Bonne chance :)

    • @matheobuseniers6893
      @matheobuseniers6893 8 месяцев назад

      @@MohamedChiny c’est justement le cas

    • @MohamedChiny
      @MohamedChiny  8 месяцев назад +1

      @@matheobuseniers6893 Vous avez vu les codes que je vous ai envoyé en réponse de votre commentaire?

  • @kylechhum5305
    @kylechhum5305 Год назад +1

    bonjour. J'ai un problème avec l'importation d'images, j'ai beau mettre le bon itinéraire des images rien ne s'affiche, comment faire ?

    • @MohamedChiny
      @MohamedChiny  Год назад

      Bonsoir. Essayez de suivre la même configuration de dossiers que j'ai utilisée dans la vidéo pour que tout fonctionne bien. Quand ça sera le cas, vous pourrez modifier cette configuration en partant sur une bonne base. En gros:
      - Créez deux dossiers à la racine de votre projet, ces dossiers sont /images et /css (la racine veut dire là où vous avez mis votre fichier html).
      - Dans le dossier /images vous placez toutes vos images et dans /css vos styles css
      - pour insérer une image dans le html, le chemin sera src="images/nom_de_l_image.extension". Pour accédez à cette même image depuis le css en tant qu'arrière plan, le chemin devient: background-image: url("../images/nom_de_l_image.extension").
      Courage :)

  • @wonderng6526
    @wonderng6526 2 года назад +1

    It took time before you do it 😅

    • @MohamedChiny
      @MohamedChiny  2 года назад +1

      J'essaie de mettre en ligne du nouveau quand j'en ai l'occasion. Merci Wonder :)