Coder une fenêtre Modale en JavaScript

Поделиться
HTML-код
  • Опубликовано: 17 окт 2024

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

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

    🎓 Tous mes cours sur l'École du Web (pour les obtenir tous d'un coup) : www.ecole-du-web.net/
    📚 Tous mes cours sur UDEMY : liste-des-cours.com/

  • @zombie-p7s
    @zombie-p7s 9 месяцев назад

    Modal JS. Votre chaîne est incroyable,une vraie bible du dev et le tout expliqué avec énormément de patience Et de pédagogie ! On ressent vraiment votre passion, vous avez la fibre pour être enseignant.Cordialement.

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

      Merci beaucoup !

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

    J'apprends toujours un truc (ou +) grâce à tes vidéos.
    Merci 🙂👍

  • @aloascreations4916
    @aloascreations4916 11 месяцев назад

    ModalJs ;-) J'adoreeeeeee, comme d'hab, simple, clair & toujours si bien expliqué 👍👍

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

    J'aime beaucoup tes cours et ta manière d'enseigner je te remercie ! ModalJs ^^

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

    Comme d’hab le meilleur contenu du net est ici avec toi Enzo, grand merci ! 🙏🏻

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

    merci. 🙏
    Un tuto riche. des explications brèves concises et bienveillantes. et une animation au téléchargement du code source excellente !!!!😂. C'est sympa de donner ton code source ça permet de trouver le bug quand on le refait ... et de comprendre encore mieux !!!👍

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

      Merci beaucoup pour ce merveilleux retour!🙏

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

    Vraiment tes vidéos me donne goût au dev front. Infiniment merci

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

    Juste PARFAIT ! Merci pour ce contenu de très grande qualité et excellemment bien expliqué !

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

    Bonjour ENZO, merci pour tes vidéos et tes explications super claire.

  • @EcoleduWeb
    @EcoleduWeb  2 года назад +5

    Vous pouvez ajouter overflow-y: hidden au body quand la modale est ouverte afin d'empêcher le scroll sur la page.

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

      Bonjour, aurait tu une solution pour faire une fenêtre modale qui sert juste à affiché un message pendant X secondes 100% javascript. Juste à appeler par une fonction, est-ce possible ?
      Pour le corps j'ai tenté le coup avec :
      function modalWindow(titre, message) {
      const styleBtn = "padding: 10px 14px; font-size: 18px; margin: 100px auto; display: block; min-width: 150px; cursor: pointer"
      const styleContainer = "visibility: hidden; position: fixed; top: 0; width: 100vw; height: 100vh; transition: visibility 0.4s;"
      const parent = document.querySelector("#cart__items")
      parent.innerHTML += `



      X

      ${titre}
      ${message}


      `
      }
      Dans cet exemple il y a le X pour fermer, mais même ca en vrai je n'en veux pas, juste quelle se ferme avec X seconde.

  • @darknight-rk4ch
    @darknight-rk4ch 2 года назад +2

    Merci beaucoup bro
    Tu peux faire une vidéo sur les Regex 😉 merci encore

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

    Bonjour Enzo,
    Merci beaucoup pour cette vidéo très intéressante.
    J'espère que tu continueras à nous partager des exemples sur l'accessibilité.
    ModalJS

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

    Bonjour - Partout on parle de UNE fenêtre modale. Mais moi je vaux afficher des images en grand format dans une modale et j'ai plusieurs images éparpillées dans la page. Donc une modale pour chaque grande image. Comment faire ?

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

    Bonjour, j'aimerais savoir comment faire pour créer plusieurs modales sur une même page. J'ai essayé en changeant le nom des classes (et en adaptant dans le css et le js) mais ça n'a pas l'air de marcher

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

    Merci beaucoup pour ta vidéo ! ^^
    Tutoriel bien expliqué et tes explications sont assez claires histoire de comprendre la logique derrière chaque étape.
    Par contre j'aurais 2 questions à te poser:
    -Est ce qu'on peut modifier la tailler de la fenêtre à sa guise la rendre énorme pour ajouter beaucoup plus d'éléments etc.. ?
    -Si on crée plusieurs fenêtres modales par exemple et qu'elles doivent apparaître de la même manière (comme celle de ta vidéo) il y'aura pas de problème ? (elles vont pas se mélanger , etc..) ?
    et sinon, ModalJS !! ^^

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

      Merci!
      1. Oui tu peux créer des modales avec beaucoup de contenu, Il va falloir jouer avec la scrollbar de la modale et/ou du container de la modale tout en cachant celle du body (overflow-y).
      Bootstrap possède ce genre de modale, tu peux inspecter le code source pour trouver les propriétés qu'ils utilisent.
      2. On peut en créer autant qu'on veut, il va simplement falloir les différencier avec une classe ou un ID afin de lier le bon déclencheur(bouton en général) à la bonnne modale.

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

    Bonjour Enzo, merci beaucoup pour cette vidéo, très instructive, comme d'habitude. Pour centrer l'élément ".modal", pourquoi n'utilises-tu pas les propriétés "display:flex; justify-content:center; align-items:center;" sur le conteneur ? Cela semblerait plus simple, as-tu une raison pour ne pas utiliser Flexbox dans ce contexte ?

    • @EcoleduWeb
      @EcoleduWeb  2 года назад +5

      Bonne remarque, le container a deux enfants, l'overlay et la modal, si je flex c'est que j'ai envie de gérer leur position avec flexbox or je la gère avec pos absolute pour l'overlay.
      C'est donc logique que je continue avec position absolute pour la modale afin de la placer sur l'overlay.
      J'aurai pu néanmoins utiliser flex sur le container puis position: relative sur la modale et ça aurait donné le même résultat visuel.
      Il y a souvent plusieurs façons de faire :).

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

    Merci Enzo ! puis-je aisément transformer mon PHP 7.4 en JS pour activer ma modale en gardant le CSS utilisé par PHP.

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

    salut merci beaucoup pour ta vidéo. Je viens de remarquer qu'avec le link boostrap ça ne marche pas. tu sais pourquoi ?

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

    j'aime beaucoup l'animation, je maîtrise pas suffisamment pour faire des transitions aussi propre du coup ça fait un bon exercice à refaire
    Très bonne video

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

    merci pour la vidéo. j'ai un petit souci avec la propriété z-index.
    je sais pas trop comment formuler mon problème.
    je sais pas comment s'affranchir du fait que la priorité d'un élément par rapport à un autre de parent diffèrent ne tient pas compte du z-index de ses 2 éléments mais celui de ses parents.
    si par exemple je crée une modal donc le contenu est dans un parent de basse priorité je sais pas comment faire pour qu'elle passe aux déçu de tout malgré tout.
    j'ai pensé à la solution JavaScript en modifiant dynamiquement les z-index du parent de la modal aux clix mais j'aimerais savoir si c'est passible de faire autrement. (un css si possible). merci d'avance🙏

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

    ModalJs. Toujours d'aussi bon tuto 👍

  • @obiquankenobi3155
    @obiquankenobi3155 4 месяца назад

    Bonjour. Y-a-t-il la possibilité d'imprimer la fenêtre modale à la taille fixée ? Merci

  • @Shakurjor
    @Shakurjor 4 месяца назад

    peut t-on faire la même chose mais juste en survole d'un sous titre par exemple??????

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

    bonjour, c'est quoi la différence entre "100vh" et "100%" ? merci

  • @Jordan-ie5nd
    @Jordan-ie5nd 2 года назад

    Merci pour la vidéo. N'aurait-on pas pu utiliser l'attribut defer afin de mettre le script dans le head plutôt que de le laisser à la fin du body à l'ancienne ?
    Ensuite, par rapport à la remarque sur les fonction normales/fléchées, pour moi il n'y a aucune dif de perf, c'est juste la valeur du this qui est géré différemment. Les fonctions fléchées ayant un this global. Les fonctions normales pouvant prendre un contexte de this particulier. (de base et également via des méthodes tel que bind() etc). Ai-je tort ?
    Sinon bonne vidéo, j'aurais peut-être aimé avoir une modale plus complète avec un form par exemple, et une gestion de l'enfermement du focus etc.

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

      Hey,
      1. Je n'ai pas trouvé d'utilité à parler de defer dans cette vidéo.
      2. Tu n'as pas tort.
      Le this fait référence au contexte englobant pour les FF.
      Et de manière générale il peut avoir des valeurs différentes selon les cas d'utilisations. (mode strict, dans un objet, etc...)
      Merci!

    • @Jordan-ie5nd
      @Jordan-ie5nd 2 года назад

      @@EcoleduWeb merci à toi !

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

    Bonjour Enzo,
    Je viens de découvrir ta chaine en cherchant comment gérer une modale :-)
    Tous tes tutos semblent très intéressants et je vais me plonger dans leurs visionnage.
    Je suis néophyte en développement javascript et pas beaucoup mieux en HTML / CSS :-)
    Je me pose la question suivante :
    - Comment récupérer l'ID (en supposant que nous en ajoutions un) de l'élément appelant la modale.
    Cas d'utilisation : Plusieurs boutons ou liens appelant une même modale dans laquelle les textes des et sont adaptés en fonction du bouton ou lien d'appel.

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

      Merci beaucoup !
      Pour récupérer l'ID il suffit de le sélectionner en JS et de lire sa propriété "id".
      const btn = document.querySelector(".btn1)
      console.log(btn1.id)
      La doc : developer.mozilla.org/fr/docs/Web/API/Element/id

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

      @@EcoleduWeb
      Bonjour Enzo,
      Merci pour ta réponse, mais j'ai du mal formuler ma question car ta proposition ne correspond pas exactement à ce que je recherche toutefois elle m’a permis de trouver une solution qui fonctionne mais je ne sais pas si elle est "propre"
      Rappel du besoin :
      Dans une page, j'ai plusieurs éléments qui sont susceptibles d’ouvrir une même fenêtre modale.
      Pour chaque élément déclencheur je souhaite adapter le texte à afficher dans la modale.
      Pour cela, j’ai un tableau qui contient les textes à afficher et je dois sélectionner le texte correspondant à l’élément qui a déclenché la demande d’affichage de la modale.
      La clé de recherche dans le tableau des textes à afficher correspond à l’ID de l’élément déclencheur c’est pourquoi je cherchais à identifier cet ID dans la fonction de gestion de l’affichage de la modale.
      La solution que j’ai trouvée pour identifier l’ID de l’élément appelant est d’utiliser : this.id.
      Apparemment quand la fonction d’affichage de la modale est appelée, le « contexte » this est celui de l’élément appelant la fonction.
      console.log(this.id) fourni bien l'ID de l'élément appelant.
      Merci pour ta chaine.

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

    modaljs 😁
    Comme tu l'as dit plein de trucs pour aller plus loin...
    je retourne au cours PHP maintenant 😋

  • @shevaron4054
    @shevaron4054 2 месяца назад

    je ne recois pas le code source lorsque j'ajoute mon adresse mail

  • @Khalife21
    @Khalife21 11 месяцев назад

    Est ce que tu pourrai faire une vidéo sur comment créer une modale dans une modale

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

    une question pratique... on peut créer un formulaire de connexion utilisateur dans une modale ?

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

      On peut, mais il faut bien faire attention à l'accessibilité & l'UX 👍

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

    Prochain tuto, comment faire un skeleton de loading stp

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

    Il me semble que bootstrap possede deja un modal

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

      Bien sûr mais on utilise pas tout le temps bootstrap 👍
      Notamment si on a juste envie de faire une modale.

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

    je pas reçue votre code a mon mail

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

    Intéressant aussi la technique de transition sur le parent pour obtenir une animation fluide et cohérent.
    "modaljs"

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

    Nice one. Modaljs

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

    plus qu'à voir pour les resizer ou les déplacer 😁
    ModalJS

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

    ModalJS 😍

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

    Bonjour modaljs

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

    modal JS

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

    modal js

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

    ModalJs

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

    ModalJS

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

    Modal Js ma gueule!

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

    "ModalJs"

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

    modaljs

  • @dehbiahachi1055
    @dehbiahachi1055 7 месяцев назад

    modaljs

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

    modalJs

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

    ModalJs

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

    ModalJS

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

    modaljs

  • @steve-rolandndetsapi5139
    @steve-rolandndetsapi5139 2 года назад

    ModalJS

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

    modaljs